aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2014-02-12 06:54:57 -0800
committerRichard Henderson <rth@twiddle.net>2014-02-12 07:00:06 -0800
commit68b7efaadb1b6045a56277ea62d324c20ac0b633 (patch)
tree07b51c9866373430373fb90b252d46c23cc1707e /ports
parent8fd7b0d5591e59ed5cb3078b351bd49314a66cef (diff)
downloadglibc-68b7efaadb1b6045a56277ea62d324c20ac0b633.zip
glibc-68b7efaadb1b6045a56277ea62d324c20ac0b633.tar.gz
glibc-68b7efaadb1b6045a56277ea62d324c20ac0b633.tar.bz2
Relocate alpha from ports to libc
Also fixed the following whitespace nits to satisfy the push: sysdeps/alpha/alphaev6/memset.S:142: space before tab in indent. sysdeps/alpha/configure:1: new blank line at EOF. sysdeps/alpha/fpu/e_sqrt.c:126: space before tab in indent. sysdeps/alpha/preconfigure:1: new blank line at EOF. sysdeps/unix/sysv/linux/alpha/syscalls.list:1: new blank line at EOF.
Diffstat (limited to 'ports')
-rw-r--r--ports/ChangeLog.alpha7
-rw-r--r--ports/sysdeps/alpha/Implies7
-rw-r--r--ports/sysdeps/alpha/Makefile57
-rw-r--r--ports/sysdeps/alpha/Subdirs1
-rw-r--r--ports/sysdeps/alpha/Versions17
-rw-r--r--ports/sysdeps/alpha/__longjmp.S63
-rw-r--r--ports/sysdeps/alpha/_mcount.S105
-rw-r--r--ports/sysdeps/alpha/add_n.S118
-rw-r--r--ports/sysdeps/alpha/addmul_1.S90
-rw-r--r--ports/sysdeps/alpha/alphaev5/add_n.S146
-rw-r--r--ports/sysdeps/alpha/alphaev5/lshift.S172
-rw-r--r--ports/sysdeps/alpha/alphaev5/rshift.S170
-rw-r--r--ports/sysdeps/alpha/alphaev5/sub_n.S147
-rw-r--r--ports/sysdeps/alpha/alphaev6/Implies1
-rw-r--r--ports/sysdeps/alpha/alphaev6/addmul_1.S477
-rw-r--r--ports/sysdeps/alpha/alphaev6/fpu/e_sqrt.S53
-rw-r--r--ports/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S53
-rw-r--r--ports/sysdeps/alpha/alphaev6/memcpy.S255
-rw-r--r--ports/sysdeps/alpha/alphaev6/memset.S223
-rw-r--r--ports/sysdeps/alpha/alphaev6/stxcpy.S314
-rw-r--r--ports/sysdeps/alpha/alphaev6/stxncpy.S392
-rw-r--r--ports/sysdeps/alpha/alphaev67/Implies1
-rw-r--r--ports/sysdeps/alpha/alphaev67/ffs.S51
-rw-r--r--ports/sysdeps/alpha/alphaev67/ffsll.S44
-rw-r--r--ports/sysdeps/alpha/alphaev67/fpu/Implies1
-rw-r--r--ports/sysdeps/alpha/alphaev67/rawmemchr.S92
-rw-r--r--ports/sysdeps/alpha/alphaev67/stpcpy.S53
-rw-r--r--ports/sysdeps/alpha/alphaev67/stpncpy.S115
-rw-r--r--ports/sysdeps/alpha/alphaev67/strcat.S61
-rw-r--r--ports/sysdeps/alpha/alphaev67/strchr.S100
-rw-r--r--ports/sysdeps/alpha/alphaev67/strlen.S60
-rw-r--r--ports/sysdeps/alpha/alphaev67/strncat.S87
-rw-r--r--ports/sysdeps/alpha/alphaev67/strrchr.S116
-rw-r--r--ports/sysdeps/alpha/backtrace.c1
-rw-r--r--ports/sysdeps/alpha/bb_init_func.S86
-rw-r--r--ports/sysdeps/alpha/bits/atomic.h368
-rw-r--r--ports/sysdeps/alpha/bits/endian.h7
-rw-r--r--ports/sysdeps/alpha/bits/link.h68
-rw-r--r--ports/sysdeps/alpha/bits/mathdef.h60
-rw-r--r--ports/sysdeps/alpha/bits/setjmp.h61
-rw-r--r--ports/sysdeps/alpha/bsd-_setjmp.S1
-rw-r--r--ports/sysdeps/alpha/bsd-setjmp.S1
-rw-r--r--ports/sysdeps/alpha/bzero.S110
-rw-r--r--ports/sysdeps/alpha/configure7
-rw-r--r--ports/sysdeps/alpha/configure.ac6
-rw-r--r--ports/sysdeps/alpha/crti.S99
-rw-r--r--ports/sysdeps/alpha/crtn.S49
-rw-r--r--ports/sysdeps/alpha/div.S87
-rw-r--r--ports/sysdeps/alpha/div_libc.h163
-rw-r--r--ports/sysdeps/alpha/divl.S83
-rw-r--r--ports/sysdeps/alpha/divlu.S4
-rw-r--r--ports/sysdeps/alpha/divq.S273
-rw-r--r--ports/sysdeps/alpha/divqu.S256
-rw-r--r--ports/sysdeps/alpha/dl-dtprocnum.h3
-rw-r--r--ports/sysdeps/alpha/dl-machine.h528
-rw-r--r--ports/sysdeps/alpha/dl-procinfo.c63
-rw-r--r--ports/sysdeps/alpha/dl-procinfo.h67
-rw-r--r--ports/sysdeps/alpha/dl-sysdep.h23
-rw-r--r--ports/sysdeps/alpha/dl-tls.h30
-rw-r--r--ports/sysdeps/alpha/dl-trampoline.S540
-rw-r--r--ports/sysdeps/alpha/ffs.S91
-rw-r--r--ports/sysdeps/alpha/ffsll.S1
-rw-r--r--ports/sysdeps/alpha/fpu/Versions23
-rw-r--r--ports/sysdeps/alpha/fpu/bits/fenv.h133
-rw-r--r--ports/sysdeps/alpha/fpu/bits/mathinline.h148
-rw-r--r--ports/sysdeps/alpha/fpu/cabsf.c41
-rw-r--r--ports/sysdeps/alpha/fpu/cargf.c41
-rw-r--r--ports/sysdeps/alpha/fpu/cfloat-compat.h58
-rw-r--r--ports/sysdeps/alpha/fpu/cimagf.c40
-rw-r--r--ports/sysdeps/alpha/fpu/conjf.c42
-rw-r--r--ports/sysdeps/alpha/fpu/crealf.c40
-rw-r--r--ports/sysdeps/alpha/fpu/e_sqrt.c187
-rw-r--r--ports/sysdeps/alpha/fpu/e_sqrtf.c14
-rw-r--r--ports/sysdeps/alpha/fpu/fclrexcpt.c47
-rw-r--r--ports/sysdeps/alpha/fpu/fedisblxcpt.c35
-rw-r--r--ports/sysdeps/alpha/fpu/feenablxcpt.c35
-rw-r--r--ports/sysdeps/alpha/fpu/fegetenv.c47
-rw-r--r--ports/sysdeps/alpha/fpu/fegetexcept.c30
-rw-r--r--ports/sysdeps/alpha/fpu/fegetround.c31
-rw-r--r--ports/sysdeps/alpha/fpu/feholdexcpt.c33
-rw-r--r--ports/sysdeps/alpha/fpu/fenv_libc.h39
-rw-r--r--ports/sysdeps/alpha/fpu/fesetenv.c56
-rw-r--r--ports/sysdeps/alpha/fpu/fesetround.c42
-rw-r--r--ports/sysdeps/alpha/fpu/feupdateenv.c49
-rw-r--r--ports/sysdeps/alpha/fpu/fgetexcptflg.c43
-rw-r--r--ports/sysdeps/alpha/fpu/fpu_control.h105
-rw-r--r--ports/sysdeps/alpha/fpu/fsetexcptflg.c46
-rw-r--r--ports/sysdeps/alpha/fpu/ftestexcept.c32
-rw-r--r--ports/sysdeps/alpha/fpu/get-rounding-mode.h35
-rw-r--r--ports/sysdeps/alpha/fpu/libm-test-ulps18715
-rw-r--r--ports/sysdeps/alpha/fpu/math_private.h44
-rw-r--r--ports/sysdeps/alpha/fpu/s_cacosf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_cacoshf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_casinf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_casinhf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_catanf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_catanhf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_ccosf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_ccoshf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_ceil.c57
-rw-r--r--ports/sysdeps/alpha/fpu/s_ceilf.c54
-rw-r--r--ports/sysdeps/alpha/fpu/s_cexpf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_clog10f.c60
-rw-r--r--ports/sysdeps/alpha/fpu/s_clogf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_copysign.c39
-rw-r--r--ports/sysdeps/alpha/fpu/s_copysignf.c27
-rw-r--r--ports/sysdeps/alpha/fpu/s_cpowf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_cprojf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_csinf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_csinhf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_csqrtf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_ctanf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_ctanhf.c50
-rw-r--r--ports/sysdeps/alpha/fpu/s_fabs.c35
-rw-r--r--ports/sysdeps/alpha/fpu/s_fabsf.c27
-rw-r--r--ports/sysdeps/alpha/fpu/s_floor.c58
-rw-r--r--ports/sysdeps/alpha/fpu/s_floorf.c55
-rw-r--r--ports/sysdeps/alpha/fpu/s_fmax.S57
-rw-r--r--ports/sysdeps/alpha/fpu/s_fmaxf.S1
-rw-r--r--ports/sysdeps/alpha/fpu/s_fmin.S57
-rw-r--r--ports/sysdeps/alpha/fpu/s_fminf.S1
-rw-r--r--ports/sysdeps/alpha/fpu/s_isnan.c56
-rw-r--r--ports/sysdeps/alpha/fpu/s_isnanf.c1
-rw-r--r--ports/sysdeps/alpha/fpu/s_llrint.c1
-rw-r--r--ports/sysdeps/alpha/fpu/s_llrintf.c1
-rw-r--r--ports/sysdeps/alpha/fpu/s_llround.c1
-rw-r--r--ports/sysdeps/alpha/fpu/s_llroundf.c1
-rw-r--r--ports/sysdeps/alpha/fpu/s_lrint.c47
-rw-r--r--ports/sysdeps/alpha/fpu/s_lrintf.c38
-rw-r--r--ports/sysdeps/alpha/fpu/s_lround.c47
-rw-r--r--ports/sysdeps/alpha/fpu/s_lroundf.c37
-rw-r--r--ports/sysdeps/alpha/fpu/s_nearbyint.c48
-rw-r--r--ports/sysdeps/alpha/fpu/s_nearbyintf.c46
-rw-r--r--ports/sysdeps/alpha/fpu/s_rint.c48
-rw-r--r--ports/sysdeps/alpha/fpu/s_rintf.c47
-rw-r--r--ports/sysdeps/alpha/fpu/s_round.c48
-rw-r--r--ports/sysdeps/alpha/fpu/s_roundf.c43
-rw-r--r--ports/sysdeps/alpha/fpu/s_trunc.c52
-rw-r--r--ports/sysdeps/alpha/fpu/s_truncf.c44
-rw-r--r--ports/sysdeps/alpha/gccframe.h21
-rw-r--r--ports/sysdeps/alpha/hp-timing.h117
-rw-r--r--ports/sysdeps/alpha/htonl.S43
-rw-r--r--ports/sysdeps/alpha/htons.S39
-rw-r--r--ports/sysdeps/alpha/jmpbuf-offsets.h35
-rw-r--r--ports/sysdeps/alpha/jmpbuf-unwind.h47
-rw-r--r--ports/sysdeps/alpha/ldiv.S218
-rw-r--r--ports/sysdeps/alpha/ldsodefs.h42
-rw-r--r--ports/sysdeps/alpha/libc-tls.c32
-rw-r--r--ports/sysdeps/alpha/lldiv.S1
-rw-r--r--ports/sysdeps/alpha/lshift.S107
-rw-r--r--ports/sysdeps/alpha/machine-gmon.h25
-rw-r--r--ports/sysdeps/alpha/memchr.c174
-rw-r--r--ports/sysdeps/alpha/memset.S127
-rw-r--r--ports/sysdeps/alpha/memusage.h20
-rw-r--r--ports/sysdeps/alpha/mul_1.S83
-rw-r--r--ports/sysdeps/alpha/nptl/Makefile20
-rw-r--r--ports/sysdeps/alpha/nptl/pthread_spin_lock.S44
-rw-r--r--ports/sysdeps/alpha/nptl/pthread_spin_trylock.S45
-rw-r--r--ports/sysdeps/alpha/nptl/pthreaddef.h37
-rw-r--r--ports/sysdeps/alpha/nptl/tcb-offsets.sym14
-rw-r--r--ports/sysdeps/alpha/nptl/tls.h138
-rw-r--r--ports/sysdeps/alpha/nscd-types.h21
-rw-r--r--ports/sysdeps/alpha/preconfigure7
-rw-r--r--ports/sysdeps/alpha/rawmemchr.S89
-rw-r--r--ports/sysdeps/alpha/reml.S86
-rw-r--r--ports/sysdeps/alpha/remlu.S4
-rw-r--r--ports/sysdeps/alpha/remq.S268
-rw-r--r--ports/sysdeps/alpha/remqu.S271
-rw-r--r--ports/sysdeps/alpha/rshift.S105
-rw-r--r--ports/sysdeps/alpha/setjmp.S119
-rw-r--r--ports/sysdeps/alpha/shlib-versions14
-rw-r--r--ports/sysdeps/alpha/soft-fp/Makefile10
-rw-r--r--ports/sysdeps/alpha/soft-fp/Versions8
-rw-r--r--ports/sysdeps/alpha/soft-fp/e_sqrtl.c49
-rw-r--r--ports/sysdeps/alpha/soft-fp/local-soft-fp.h44
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_add.c38
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cmp.c63
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cmpe.c82
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cvtqux.c39
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cvtqx.c38
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cvttx.c47
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cvtxq.c43
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_cvtxt.c43
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_div.c38
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_mul.c38
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_nintxq.c51
-rw-r--r--ports/sysdeps/alpha/soft-fp/ots_sub.c38
-rw-r--r--ports/sysdeps/alpha/soft-fp/sfp-machine.h97
-rw-r--r--ports/sysdeps/alpha/sotruss-lib.c50
-rw-r--r--ports/sysdeps/alpha/stackinfo.h33
-rw-r--r--ports/sysdeps/alpha/start.S85
-rw-r--r--ports/sysdeps/alpha/stpcpy.S55
-rw-r--r--ports/sysdeps/alpha/stpncpy.S106
-rw-r--r--ports/sysdeps/alpha/strcat.S71
-rw-r--r--ports/sysdeps/alpha/strchr.S94
-rw-r--r--ports/sysdeps/alpha/strcmp.S194
-rw-r--r--ports/sysdeps/alpha/strcpy.S41
-rw-r--r--ports/sysdeps/alpha/strlen.S76
-rw-r--r--ports/sysdeps/alpha/strncat.S94
-rw-r--r--ports/sysdeps/alpha/strncmp.S277
-rw-r--r--ports/sysdeps/alpha/strncpy.S87
-rw-r--r--ports/sysdeps/alpha/strrchr.S110
-rw-r--r--ports/sysdeps/alpha/stxcpy.S294
-rw-r--r--ports/sysdeps/alpha/stxncpy.S352
-rw-r--r--ports/sysdeps/alpha/sub_n.S118
-rw-r--r--ports/sysdeps/alpha/submul_1.S90
-rw-r--r--ports/sysdeps/alpha/tininess.h1
-rw-r--r--ports/sysdeps/alpha/tls-macros.h25
-rw-r--r--ports/sysdeps/alpha/tst-audit.h24
-rw-r--r--ports/sysdeps/alpha/udiv_qrnnd.S159
-rw-r--r--ports/sysdeps/unix/alpha/Makefile3
-rw-r--r--ports/sysdeps/unix/alpha/getegid.S26
-rw-r--r--ports/sysdeps/unix/alpha/geteuid.S26
-rw-r--r--ports/sysdeps/unix/alpha/getppid.S26
-rw-r--r--ports/sysdeps/unix/alpha/pipe.S31
-rw-r--r--ports/sysdeps/unix/alpha/rt-sysdep.S1
-rw-r--r--ports/sysdeps/unix/alpha/sysdep.S65
-rw-r--r--ports/sysdeps/unix/alpha/sysdep.h385
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/Implies4
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/Makefile39
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/Versions102
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S144
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/a.out.h197
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/adjtime.c94
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h18
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h44
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/a.out.h9
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h57
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h14
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/epoll.h27
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/errno.h65
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h31
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h87
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/inotify.h29
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h36
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/ipc.h54
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h65
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h74
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/netdb.h34
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h266
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/sem.h84
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h100
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h75
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h327
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h29
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/signum.h81
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h54
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h55
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h160
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/statfs.h68
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/termios.h224
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h29
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h72
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h29
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/brk.S84
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/clone.S143
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/configure5
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/configure.ac5
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/creat.c8
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/dl-auxv.h35
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/dl-brk.S1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c9
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/dl-support.c2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c5
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fdatasync.c64
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fpu/Implies2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S56
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fstatfs64.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fstatvfs.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fxstat.c58
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c113
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/getclktck.c2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/getcontext.S187
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/getdents.c3
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/getdents64.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/gethostname.c45
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c57
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/glob.c51
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S50
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S46
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/ioperm.c882
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/ipc_priv.h1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h90
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h15
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/kernel_stat.h88
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h6
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/kernel_termios.h43
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/lxstat.c58
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/makecontext.S163
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/msgctl.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h8
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/Makefile2
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/Versions13
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c33
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h99
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h170
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h33
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data67
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/clone.S9
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/createthread.c22
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c29
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist18
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist3
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist6
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist2511
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist9
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist18
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist567
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist127
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist273
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist104
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist63
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist48
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist8
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/localplt.data26
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h322
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S42
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/pthread_once.c95
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c5
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h166
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S45
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/oldglob.c99
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/pipe.S1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/register-dump.h156
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S120
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/semctl.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/setcontext.S34
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/setfpucw.c61
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/shmctl.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sigaction.c38
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h24
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sigprocmask.c57
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sigsuspend.S45
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sizes.h23
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/statfs64.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/statvfs.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/statvfs64.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/swapcontext.S50
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sys/acct.h65
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sys/io.h94
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h127
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h60
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sys/user.h51
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/syscall.S70
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/syscalls.list70
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sysconf.c127
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/sysdep.h95
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym18
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/wordexp.c1
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/xstat.c58
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/xstatconv.c120
-rw-r--r--ports/sysdeps/unix/sysv/linux/alpha/xstatconv.h23
361 files changed, 7 insertions, 47073 deletions
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index 5d79445..13e1edd 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,10 @@
+2014-02-12 Richard Henderson <rth@redhat.com>
+
+ * sysdeps/alpha: Move directory to ../sysdeps/alpha.
+ * sysdeps/unix/alpha: Move directory to ../sysdeps/unix/alpha.
+ * sysdeps/unix/sysv/linux/alpha: Move directory to
+ ../sysdeps/unix/sysv/linux/alpha.
+
2014-02-08 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Move to
diff --git a/ports/sysdeps/alpha/Implies b/ports/sysdeps/alpha/Implies
deleted file mode 100644
index d03783b..0000000
--- a/ports/sysdeps/alpha/Implies
+++ /dev/null
@@ -1,7 +0,0 @@
-wordsize-64
-# Alpha uses IEEE 754 single, double and quad precision floating point.
-ieee754/ldbl-128
-ieee754/dbl-64/wordsize-64
-ieee754/dbl-64
-ieee754/flt-32
-alpha/soft-fp
diff --git a/ports/sysdeps/alpha/Makefile b/ports/sysdeps/alpha/Makefile
deleted file mode 100644
index 1cf77fb..0000000
--- a/ports/sysdeps/alpha/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright (C) 1993-2014 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-# Contributed by Brendan Kehoe (brendan@zen.org).
-
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library. If not, see
-# <http://www.gnu.org/licenses/>.
-
-ifeq ($(subdir),db2)
-CPPFLAGS += -DHAVE_SPINLOCKS=1 -DHAVE_ASSEM_ALPHA=1
-endif
-
-ifeq ($(subdir),gmon)
-sysdep_routines += _mcount
-endif
-
-ifeq ($(subdir),gnulib)
-sysdep_routines += divl divlu divq divqu reml remlu remq remqu
-endif
-
-ifeq ($(subdir),string)
-sysdep_routines += stxcpy stxncpy
-endif
-
-ifeq ($(subdir),elf)
-# The ld.so startup code cannot use literals until it self-relocates.
-CFLAGS-rtld.c = -mbuild-constants
-endif
-
-ifeq ($(subdir),math)
-# The fma routines rely on inexact being raised for correct results.
-CFLAGS-s_fma.c = -mieee-with-inexact
-CFLAGS-s_fmaf.c = -mieee-with-inexact
-# This test tries to check for inexact being raised by arithmetic.
-CFLAGS-test-misc.c += -mieee-with-inexact
-# Avoid "conflicting types for built-in function" warnings
-CFLAGS-s_isnan.c += -fno-builtin-isnanf
-endif
-
-# Build everything with full IEEE math support, and with dynamic rounding;
-# there are a number of math routines that are defined to work with the
-# "current" rounding mode, and it's easiest to set this with all of them.
-sysdep-CFLAGS += -mieee -mfp-rounding-mode=d
-
-# libc.so requires about 16k for the small data area, which is well
-# below the 64k maximum.
-pic-ccflag = -fpic
diff --git a/ports/sysdeps/alpha/Subdirs b/ports/sysdeps/alpha/Subdirs
deleted file mode 100644
index 87eadf3..0000000
--- a/ports/sysdeps/alpha/Subdirs
+++ /dev/null
@@ -1 +0,0 @@
-soft-fp
diff --git a/ports/sysdeps/alpha/Versions b/ports/sysdeps/alpha/Versions
deleted file mode 100644
index ae8fde7..0000000
--- a/ports/sysdeps/alpha/Versions
+++ /dev/null
@@ -1,17 +0,0 @@
-libc {
- GLIBC_2.0 {
- # functions with special/multiple interfaces
- __divqu; __remqu; __divqs; __remqs; __divlu; __remlu; __divls;
- __remls; __divl; __reml; __divq; __remq; __divqu; __remqu;
- }
-}
-libm {
- GLIBC_2.0 {
- # used in inline functions.
- __atan2;
- }
- GLIBC_2.18 {
- # forgotten when the symbols were added to glibc 2.15 for other targets
- __sqrt_finite; __sqrtf_finite; __sqrtl_finite;
- }
-}
diff --git a/ports/sysdeps/alpha/__longjmp.S b/ports/sysdeps/alpha/__longjmp.S
deleted file mode 100644
index de35479..0000000
--- a/ports/sysdeps/alpha/__longjmp.S
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __ASSEMBLY__
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
-
-ENTRY(__longjmp)
-#ifdef PROF
- ldgp gp, 0(pv)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#else
- .prologue 0
-#endif
-
- mov a1, v0
- ldq s0, JB_S0*8(a0)
- ldq s1, JB_S1*8(a0)
- ldq s2, JB_S2*8(a0)
- ldq s3, JB_S3*8(a0)
- ldq s4, JB_S4*8(a0)
- ldq s5, JB_S5*8(a0)
- ldq ra, JB_PC*8(a0)
- ldq fp, JB_FP*8(a0)
- ldq t0, JB_SP*8(a0)
- ldt $f2, JB_F2*8(a0)
- ldt $f3, JB_F3*8(a0)
- ldt $f4, JB_F4*8(a0)
- ldt $f5, JB_F5*8(a0)
- ldt $f6, JB_F6*8(a0)
- ldt $f7, JB_F7*8(a0)
- ldt $f8, JB_F8*8(a0)
- ldt $f9, JB_F9*8(a0)
-#ifdef PTR_DEMANGLE
- PTR_DEMANGLE(ra, t1)
- PTR_DEMANGLE2(t0, t1)
- PTR_DEMANGLE2(fp, t1)
-#endif
- cmoveq v0, 1, v0
- mov t0, sp
- ret
-
-END(__longjmp)
diff --git a/ports/sysdeps/alpha/_mcount.S b/ports/sysdeps/alpha/_mcount.S
deleted file mode 100644
index f612875..0000000
--- a/ports/sysdeps/alpha/_mcount.S
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Machine-specific calling sequence for `mcount' profiling function. alpha
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Assembly stub to invoke _mcount(). Compiler generated code calls
- this stub after executing a function's prologue and without saving any
- registers. It is therefore necessary to preserve a0..a5 as they may
- contain function arguments. To work correctly with frame- less
- functions, it is also necessary to preserve ra. Finally, division
- routines are invoked with a special calling convention and the
- compiler treats those calls as if they were instructions. In
- particular, it doesn't save any of the temporary registers (caller
- saved registers). It is therefore necessary to preserve all
- caller-saved registers as well.
-
- Upon entering _mcount, register $at holds the return address and ra
- holds the return address of the function's caller (selfpc and frompc,
- respectively in gmon.c language...). */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
-LEAF(_mcount, 0xb0)
- subq sp, 0xb0, sp
- .prologue 0
- stq a0, 0x00(sp)
- mov ra, a0 # a0 = caller-pc
- stq a1, 0x08(sp)
- mov $at, a1 # a1 = self-pc
- stq $at, 0x10(sp)
-
- stq a2, 0x18(sp)
- stq a3, 0x20(sp)
- stq a4, 0x28(sp)
- stq a5, 0x30(sp)
- stq ra, 0x38(sp)
- stq gp, 0x40(sp)
-
- br gp, 1f
-1: ldgp gp, 0(gp)
-
- stq t0, 0x48(sp)
- stq t1, 0x50(sp)
- stq t2, 0x58(sp)
- stq t3, 0x60(sp)
- stq t4, 0x68(sp)
- stq t5, 0x70(sp)
- stq t6, 0x78(sp)
-
- stq t7, 0x80(sp)
- stq t8, 0x88(sp)
- stq t9, 0x90(sp)
- stq t10, 0x98(sp)
- stq t11, 0xa0(sp)
- stq v0, 0xa8(sp)
-
- jsr ra, __mcount
-
- ldq a0, 0x00(sp)
- ldq a1, 0x08(sp)
- ldq $at, 0x10(sp) # restore self-pc
- ldq a2, 0x18(sp)
- ldq a3, 0x20(sp)
- ldq a4, 0x28(sp)
- ldq a5, 0x30(sp)
- ldq ra, 0x38(sp)
- ldq gp, 0x40(sp)
- mov $at, pv # make pv point to return address
- ldq t0, 0x48(sp) # this is important under OSF/1 to
- ldq t1, 0x50(sp) # ensure that the code that we return
- ldq t2, 0x58(sp) # can correctly compute its gp
- ldq t3, 0x60(sp)
- ldq t4, 0x68(sp)
- ldq t5, 0x70(sp)
- ldq t6, 0x78(sp)
- ldq t7, 0x80(sp)
- ldq t8, 0x88(sp)
- ldq t9, 0x90(sp)
- ldq t10, 0x98(sp)
- ldq t11, 0xa0(sp)
- ldq v0, 0xa8(sp)
-
- addq sp, 0xb0, sp
- ret zero,($at),1
-
- END(_mcount)
-
-weak_alias (_mcount, mcount)
diff --git a/ports/sysdeps/alpha/add_n.S b/ports/sysdeps/alpha/add_n.S
deleted file mode 100644
index 038a371..0000000
--- a/ports/sysdeps/alpha/add_n.S
+++ /dev/null
@@ -1,118 +0,0 @@
- # Alpha __mpn_add_n -- Add two limb vectors of the same length > 0 and
- # store sum in a third limb vector.
-
- # Copyright (C) 1995-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr $16
- # s1_ptr $17
- # s2_ptr $18
- # size $19
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_add_n
- .ent __mpn_add_n
-__mpn_add_n:
- .frame $30,0,$26,0
-
- ldq $3,0($17)
- ldq $4,0($18)
-
- subq $19,1,$19
- and $19,4-1,$2 # number of limbs in first loop
- bis $31,$31,$0
- beq $2,.L0 # if multiple of 4 limbs, skip first loop
-
- subq $19,$2,$19
-
-.Loop0: subq $2,1,$2
- ldq $5,8($17)
- addq $4,$0,$4
- ldq $6,8($18)
- cmpult $4,$0,$1
- addq $3,$4,$4
- cmpult $4,$3,$0
- stq $4,0($16)
- or $0,$1,$0
-
- addq $17,8,$17
- addq $18,8,$18
- bis $5,$5,$3
- bis $6,$6,$4
- addq $16,8,$16
- bne $2,.Loop0
-
-.L0: beq $19,.Lend
-
- .align 3
-.Loop: subq $19,4,$19
-
- ldq $5,8($17)
- addq $4,$0,$4
- ldq $6,8($18)
- cmpult $4,$0,$1
- addq $3,$4,$4
- cmpult $4,$3,$0
- stq $4,0($16)
- or $0,$1,$0
-
- ldq $3,16($17)
- addq $6,$0,$6
- ldq $4,16($18)
- cmpult $6,$0,$1
- addq $5,$6,$6
- cmpult $6,$5,$0
- stq $6,8($16)
- or $0,$1,$0
-
- ldq $5,24($17)
- addq $4,$0,$4
- ldq $6,24($18)
- cmpult $4,$0,$1
- addq $3,$4,$4
- cmpult $4,$3,$0
- stq $4,16($16)
- or $0,$1,$0
-
- ldq $3,32($17)
- addq $6,$0,$6
- ldq $4,32($18)
- cmpult $6,$0,$1
- addq $5,$6,$6
- cmpult $6,$5,$0
- stq $6,24($16)
- or $0,$1,$0
-
- addq $17,32,$17
- addq $18,32,$18
- addq $16,32,$16
- bne $19,.Loop
-
-.Lend: addq $4,$0,$4
- cmpult $4,$0,$1
- addq $3,$4,$4
- cmpult $4,$3,$0
- stq $4,0($16)
- or $0,$1,$0
- ret $31,($26),1
-
- .end __mpn_add_n
diff --git a/ports/sysdeps/alpha/addmul_1.S b/ports/sysdeps/alpha/addmul_1.S
deleted file mode 100644
index fcbc401..0000000
--- a/ports/sysdeps/alpha/addmul_1.S
+++ /dev/null
@@ -1,90 +0,0 @@
- # Alpha 21064 __mpn_addmul_1 -- Multiply a limb vector with a limb and add
- # the result to a second limb vector.
-
- # Copyright (C) 1992-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # s2_limb r19
-
- # This code runs at 42 cycles/limb on EV4 and 18 cycles/limb on EV5.
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_addmul_1
- .ent __mpn_addmul_1 2
-__mpn_addmul_1:
- .frame $30,0,$26
-
- ldq $2,0($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- subq $18,1,$18 # size--
- mulq $2,$19,$3 # $3 = prod_low
- ldq $5,0($16) # $5 = *res_ptr
- umulh $2,$19,$0 # $0 = prod_high
- beq $18,.Lend1 # jump if size was == 1
- ldq $2,0($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- subq $18,1,$18 # size--
- addq $5,$3,$3
- cmpult $3,$5,$4
- stq $3,0($16)
- addq $16,8,$16 # res_ptr++
- beq $18,.Lend2 # jump if size was == 2
-
- .align 3
-.Loop: mulq $2,$19,$3 # $3 = prod_low
- ldq $5,0($16) # $5 = *res_ptr
- addq $4,$0,$0 # cy_limb = cy_limb + 'cy'
- subq $18,1,$18 # size--
- umulh $2,$19,$4 # $4 = cy_limb
- ldq $2,0($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- addq $3,$0,$3 # $3 = cy_limb + prod_low
- cmpult $3,$0,$0 # $0 = carry from (cy_limb + prod_low)
- addq $5,$3,$3
- cmpult $3,$5,$5
- stq $3,0($16)
- addq $16,8,$16 # res_ptr++
- addq $5,$0,$0 # combine carries
- bne $18,.Loop
-
-.Lend2: mulq $2,$19,$3 # $3 = prod_low
- ldq $5,0($16) # $5 = *res_ptr
- addq $4,$0,$0 # cy_limb = cy_limb + 'cy'
- umulh $2,$19,$4 # $4 = cy_limb
- addq $3,$0,$3 # $3 = cy_limb + prod_low
- cmpult $3,$0,$0 # $0 = carry from (cy_limb + prod_low)
- addq $5,$3,$3
- cmpult $3,$5,$5
- stq $3,0($16)
- addq $5,$0,$0 # combine carries
- addq $4,$0,$0 # cy_limb = prod_high + cy
- ret $31,($26),1
-.Lend1: addq $5,$3,$3
- cmpult $3,$5,$5
- stq $3,0($16)
- addq $0,$5,$0
- ret $31,($26),1
-
- .end __mpn_addmul_1
diff --git a/ports/sysdeps/alpha/alphaev5/add_n.S b/ports/sysdeps/alpha/alphaev5/add_n.S
deleted file mode 100644
index 09494c2..0000000
--- a/ports/sysdeps/alpha/alphaev5/add_n.S
+++ /dev/null
@@ -1,146 +0,0 @@
- # Alpha __mpn_add_n -- Add two limb vectors of the same length > 0 and
- # store sum in a third limb vector.
-
- # Copyright (C) 1995-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr $16
- # s1_ptr $17
- # s2_ptr $18
- # size $19
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_add_n
- .ent __mpn_add_n
-__mpn_add_n:
- .frame $30,0,$26,0
-
- or $31,$31,$25 # clear cy
- subq $19,4,$19 # decr loop cnt
- blt $19,.Lend2 # if less than 4 limbs, goto 2nd loop
- # Start software pipeline for 1st loop
- ldq $0,0($18)
- ldq $1,8($18)
- ldq $4,0($17)
- ldq $5,8($17)
- addq $17,32,$17 # update s1_ptr
- ldq $2,16($18)
- addq $0,$4,$20 # 1st main add
- ldq $3,24($18)
- subq $19,4,$19 # decr loop cnt
- ldq $6,-16($17)
- cmpult $20,$0,$25 # compute cy from last add
- ldq $7,-8($17)
- addq $1,$25,$28 # cy add
- addq $18,32,$18 # update s2_ptr
- addq $5,$28,$21 # 2nd main add
- cmpult $28,$25,$8 # compute cy from last add
- blt $19,.Lend1 # if less than 4 limbs remain, jump
- # 1st loop handles groups of 4 limbs in a software pipeline
- .align 4
-.Loop: cmpult $21,$28,$25 # compute cy from last add
- ldq $0,0($18)
- or $8,$25,$25 # combine cy from the two adds
- ldq $1,8($18)
- addq $2,$25,$28 # cy add
- ldq $4,0($17)
- addq $28,$6,$22 # 3rd main add
- ldq $5,8($17)
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $22,$28,$25 # compute cy from last add
- stq $20,0($16)
- or $8,$25,$25 # combine cy from the two adds
- stq $21,8($16)
- addq $3,$25,$28 # cy add
- addq $28,$7,$23 # 4th main add
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $23,$28,$25 # compute cy from last add
- addq $17,32,$17 # update s1_ptr
- or $8,$25,$25 # combine cy from the two adds
- addq $16,32,$16 # update res_ptr
- addq $0,$25,$28 # cy add
- ldq $2,16($18)
- addq $4,$28,$20 # 1st main add
- ldq $3,24($18)
- cmpult $28,$25,$8 # compute cy from last add
- ldq $6,-16($17)
- cmpult $20,$28,$25 # compute cy from last add
- ldq $7,-8($17)
- or $8,$25,$25 # combine cy from the two adds
- subq $19,4,$19 # decr loop cnt
- stq $22,-16($16)
- addq $1,$25,$28 # cy add
- stq $23,-8($16)
- addq $5,$28,$21 # 2nd main add
- addq $18,32,$18 # update s2_ptr
- cmpult $28,$25,$8 # compute cy from last add
- bge $19,.Loop
- # Finish software pipeline for 1st loop
-.Lend1: cmpult $21,$28,$25 # compute cy from last add
- or $8,$25,$25 # combine cy from the two adds
- addq $2,$25,$28 # cy add
- addq $28,$6,$22 # 3rd main add
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $22,$28,$25 # compute cy from last add
- stq $20,0($16)
- or $8,$25,$25 # combine cy from the two adds
- stq $21,8($16)
- addq $3,$25,$28 # cy add
- addq $28,$7,$23 # 4th main add
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $23,$28,$25 # compute cy from last add
- or $8,$25,$25 # combine cy from the two adds
- addq $16,32,$16 # update res_ptr
- stq $22,-16($16)
- stq $23,-8($16)
-.Lend2: addq $19,4,$19 # restore loop cnt
- beq $19,.Lret
- # Start software pipeline for 2nd loop
- ldq $0,0($18)
- ldq $4,0($17)
- subq $19,1,$19
- beq $19,.Lend0
- # 2nd loop handles remaining 1-3 limbs
- .align 4
-.Loop0: addq $0,$25,$28 # cy add
- ldq $0,8($18)
- addq $4,$28,$20 # main add
- ldq $4,8($17)
- addq $18,8,$18
- cmpult $28,$25,$8 # compute cy from last add
- addq $17,8,$17
- stq $20,0($16)
- cmpult $20,$28,$25 # compute cy from last add
- subq $19,1,$19 # decr loop cnt
- or $8,$25,$25 # combine cy from the two adds
- addq $16,8,$16
- bne $19,.Loop0
-.Lend0: addq $0,$25,$28 # cy add
- addq $4,$28,$20 # main add
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $20,$28,$25 # compute cy from last add
- stq $20,0($16)
- or $8,$25,$25 # combine cy from the two adds
-
-.Lret: or $25,$31,$0 # return cy
- ret $31,($26),1
- .end __mpn_add_n
diff --git a/ports/sysdeps/alpha/alphaev5/lshift.S b/ports/sysdeps/alpha/alphaev5/lshift.S
deleted file mode 100644
index 459221f..0000000
--- a/ports/sysdeps/alpha/alphaev5/lshift.S
+++ /dev/null
@@ -1,172 +0,0 @@
- # Alpha EV5 __mpn_lshift --
-
- # Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # cnt r19
-
- # This code runs at 3.25 cycles/limb on the EV5.
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_lshift
- .ent __mpn_lshift
-__mpn_lshift:
- .frame $30,0,$26,0
-
- s8addq $18,$17,$17 # make r17 point at end of s1
- ldq $4,-8($17) # load first limb
- subq $31,$19,$20
- s8addq $18,$16,$16 # make r16 point at end of RES
- subq $18,1,$18
- and $18,4-1,$28 # number of limbs in first loop
- srl $4,$20,$0 # compute function result
-
- beq $28,.L0
- subq $18,$28,$18
-
- .align 3
-.Loop0: ldq $3,-16($17)
- subq $16,8,$16
- sll $4,$19,$5
- subq $17,8,$17
- subq $28,1,$28
- srl $3,$20,$6
- or $3,$3,$4
- or $5,$6,$8
- stq $8,0($16)
- bne $28,.Loop0
-
-.L0: sll $4,$19,$24
- beq $18,.Lend
- # warm up phase 1
- ldq $1,-16($17)
- subq $18,4,$18
- ldq $2,-24($17)
- ldq $3,-32($17)
- ldq $4,-40($17)
- beq $18,.Lend1
- # warm up phase 2
- srl $1,$20,$7
- sll $1,$19,$21
- srl $2,$20,$8
- ldq $1,-48($17)
- sll $2,$19,$22
- ldq $2,-56($17)
- srl $3,$20,$5
- or $7,$24,$7
- sll $3,$19,$23
- or $8,$21,$8
- srl $4,$20,$6
- ldq $3,-64($17)
- sll $4,$19,$24
- ldq $4,-72($17)
- subq $18,4,$18
- beq $18,.Lend2
- .align 4
- # main loop
-.Loop: stq $7,-8($16)
- or $5,$22,$5
- stq $8,-16($16)
- or $6,$23,$6
-
- srl $1,$20,$7
- subq $18,4,$18
- sll $1,$19,$21
- unop # ldq $31,-96($17)
-
- srl $2,$20,$8
- ldq $1,-80($17)
- sll $2,$19,$22
- ldq $2,-88($17)
-
- stq $5,-24($16)
- or $7,$24,$7
- stq $6,-32($16)
- or $8,$21,$8
-
- srl $3,$20,$5
- unop # ldq $31,-96($17)
- sll $3,$19,$23
- subq $16,32,$16
-
- srl $4,$20,$6
- ldq $3,-96($17)
- sll $4,$19,$24
- ldq $4,-104($17)
-
- subq $17,32,$17
- bne $18,.Loop
- # cool down phase 2/1
-.Lend2: stq $7,-8($16)
- or $5,$22,$5
- stq $8,-16($16)
- or $6,$23,$6
- srl $1,$20,$7
- sll $1,$19,$21
- srl $2,$20,$8
- sll $2,$19,$22
- stq $5,-24($16)
- or $7,$24,$7
- stq $6,-32($16)
- or $8,$21,$8
- srl $3,$20,$5
- sll $3,$19,$23
- srl $4,$20,$6
- sll $4,$19,$24
- # cool down phase 2/2
- stq $7,-40($16)
- or $5,$22,$5
- stq $8,-48($16)
- or $6,$23,$6
- stq $5,-56($16)
- stq $6,-64($16)
- # cool down phase 2/3
- stq $24,-72($16)
- ret $31,($26),1
-
- # cool down phase 1/1
-.Lend1: srl $1,$20,$7
- sll $1,$19,$21
- srl $2,$20,$8
- sll $2,$19,$22
- srl $3,$20,$5
- or $7,$24,$7
- sll $3,$19,$23
- or $8,$21,$8
- srl $4,$20,$6
- sll $4,$19,$24
- # cool down phase 1/2
- stq $7,-8($16)
- or $5,$22,$5
- stq $8,-16($16)
- or $6,$23,$6
- stq $5,-24($16)
- stq $6,-32($16)
- stq $24,-40($16)
- ret $31,($26),1
-
-.Lend: stq $24,-8($16)
- ret $31,($26),1
- .end __mpn_lshift
diff --git a/ports/sysdeps/alpha/alphaev5/rshift.S b/ports/sysdeps/alpha/alphaev5/rshift.S
deleted file mode 100644
index 0c53022..0000000
--- a/ports/sysdeps/alpha/alphaev5/rshift.S
+++ /dev/null
@@ -1,170 +0,0 @@
- # Alpha EV5 __mpn_rshift --
-
- # Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # cnt r19
-
- # This code runs at 3.25 cycles/limb on the EV5.
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_rshift
- .ent __mpn_rshift
-__mpn_rshift:
- .frame $30,0,$26,0
-
- ldq $4,0($17) # load first limb
- subq $31,$19,$20
- subq $18,1,$18
- and $18,4-1,$28 # number of limbs in first loop
- sll $4,$20,$0 # compute function result
-
- beq $28,.L0
- subq $18,$28,$18
-
- .align 3
-.Loop0: ldq $3,8($17)
- addq $16,8,$16
- srl $4,$19,$5
- addq $17,8,$17
- subq $28,1,$28
- sll $3,$20,$6
- or $3,$3,$4
- or $5,$6,$8
- stq $8,-8($16)
- bne $28,.Loop0
-
-.L0: srl $4,$19,$24
- beq $18,.Lend
- # warm up phase 1
- ldq $1,8($17)
- subq $18,4,$18
- ldq $2,16($17)
- ldq $3,24($17)
- ldq $4,32($17)
- beq $18,.Lend1
- # warm up phase 2
- sll $1,$20,$7
- srl $1,$19,$21
- sll $2,$20,$8
- ldq $1,40($17)
- srl $2,$19,$22
- ldq $2,48($17)
- sll $3,$20,$5
- or $7,$24,$7
- srl $3,$19,$23
- or $8,$21,$8
- sll $4,$20,$6
- ldq $3,56($17)
- srl $4,$19,$24
- ldq $4,64($17)
- subq $18,4,$18
- beq $18,.Lend2
- .align 4
- # main loop
-.Loop: stq $7,0($16)
- or $5,$22,$5
- stq $8,8($16)
- or $6,$23,$6
-
- sll $1,$20,$7
- subq $18,4,$18
- srl $1,$19,$21
- unop # ldq $31,-96($17)
-
- sll $2,$20,$8
- ldq $1,72($17)
- srl $2,$19,$22
- ldq $2,80($17)
-
- stq $5,16($16)
- or $7,$24,$7
- stq $6,24($16)
- or $8,$21,$8
-
- sll $3,$20,$5
- unop # ldq $31,-96($17)
- srl $3,$19,$23
- addq $16,32,$16
-
- sll $4,$20,$6
- ldq $3,88($17)
- srl $4,$19,$24
- ldq $4,96($17)
-
- addq $17,32,$17
- bne $18,.Loop
- # cool down phase 2/1
-.Lend2: stq $7,0($16)
- or $5,$22,$5
- stq $8,8($16)
- or $6,$23,$6
- sll $1,$20,$7
- srl $1,$19,$21
- sll $2,$20,$8
- srl $2,$19,$22
- stq $5,16($16)
- or $7,$24,$7
- stq $6,24($16)
- or $8,$21,$8
- sll $3,$20,$5
- srl $3,$19,$23
- sll $4,$20,$6
- srl $4,$19,$24
- # cool down phase 2/2
- stq $7,32($16)
- or $5,$22,$5
- stq $8,40($16)
- or $6,$23,$6
- stq $5,48($16)
- stq $6,56($16)
- # cool down phase 2/3
- stq $24,64($16)
- ret $31,($26),1
-
- # cool down phase 1/1
-.Lend1: sll $1,$20,$7
- srl $1,$19,$21
- sll $2,$20,$8
- srl $2,$19,$22
- sll $3,$20,$5
- or $7,$24,$7
- srl $3,$19,$23
- or $8,$21,$8
- sll $4,$20,$6
- srl $4,$19,$24
- # cool down phase 1/2
- stq $7,0($16)
- or $5,$22,$5
- stq $8,8($16)
- or $6,$23,$6
- stq $5,16($16)
- stq $6,24($16)
- stq $24,32($16)
- ret $31,($26),1
-
-.Lend: stq $24,0($16)
- ret $31,($26),1
- .end __mpn_rshift
diff --git a/ports/sysdeps/alpha/alphaev5/sub_n.S b/ports/sysdeps/alpha/alphaev5/sub_n.S
deleted file mode 100644
index 4a53e92..0000000
--- a/ports/sysdeps/alpha/alphaev5/sub_n.S
+++ /dev/null
@@ -1,147 +0,0 @@
- # Alpha __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and
- # store difference in a third limb vector.
-
- # Copyright (C) 1995-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr $16
- # s1_ptr $17
- # s2_ptr $18
- # size $19
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_sub_n
- .ent __mpn_sub_n
-__mpn_sub_n:
- .frame $30,0,$26,0
-
- or $31,$31,$25 # clear cy
- subq $19,4,$19 # decr loop cnt
- blt $19,.Lend2 # if less than 4 limbs, goto 2nd loop
- # Start software pipeline for 1st loop
- ldq $0,0($18)
- ldq $1,8($18)
- ldq $4,0($17)
- ldq $5,8($17)
- addq $17,32,$17 # update s1_ptr
- ldq $2,16($18)
- subq $4,$0,$20 # 1st main sub
- ldq $3,24($18)
- subq $19,4,$19 # decr loop cnt
- ldq $6,-16($17)
- cmpult $4,$20,$25 # compute cy from last sub
- ldq $7,-8($17)
- addq $1,$25,$28 # cy add
- addq $18,32,$18 # update s2_ptr
- subq $5,$28,$21 # 2nd main sub
- cmpult $28,$25,$8 # compute cy from last add
- blt $19,.Lend1 # if less than 4 limbs remain, jump
- # 1st loop handles groups of 4 limbs in a software pipeline
- .align 4
-.Loop: cmpult $5,$21,$25 # compute cy from last add
- ldq $0,0($18)
- or $8,$25,$25 # combine cy from the two adds
- ldq $1,8($18)
- addq $2,$25,$28 # cy add
- ldq $4,0($17)
- subq $6,$28,$22 # 3rd main sub
- ldq $5,8($17)
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $6,$22,$25 # compute cy from last add
- stq $20,0($16)
- or $8,$25,$25 # combine cy from the two adds
- stq $21,8($16)
- addq $3,$25,$28 # cy add
- subq $7,$28,$23 # 4th main sub
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $7,$23,$25 # compute cy from last add
- addq $17,32,$17 # update s1_ptr
- or $8,$25,$25 # combine cy from the two adds
- addq $16,32,$16 # update res_ptr
- addq $0,$25,$28 # cy add
- ldq $2,16($18)
- subq $4,$28,$20 # 1st main sub
- ldq $3,24($18)
- cmpult $28,$25,$8 # compute cy from last add
- ldq $6,-16($17)
- cmpult $4,$20,$25 # compute cy from last add
- ldq $7,-8($17)
- or $8,$25,$25 # combine cy from the two adds
- subq $19,4,$19 # decr loop cnt
- stq $22,-16($16)
- addq $1,$25,$28 # cy add
- stq $23,-8($16)
- subq $5,$28,$21 # 2nd main sub
- addq $18,32,$18 # update s2_ptr
- cmpult $28,$25,$8 # compute cy from last add
- bge $19,.Loop
- # Finish software pipeline for 1st loop
-.Lend1: cmpult $5,$21,$25 # compute cy from last add
- or $8,$25,$25 # combine cy from the two adds
- addq $2,$25,$28 # cy add
- subq $6,$28,$22 # 3rd main sub
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $6,$22,$25 # compute cy from last add
- stq $20,0($16)
- or $8,$25,$25 # combine cy from the two adds
- stq $21,8($16)
- addq $3,$25,$28 # cy add
- subq $7,$28,$23 # 4th main sub
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $7,$23,$25 # compute cy from last add
- or $8,$25,$25 # combine cy from the two adds
- addq $16,32,$16 # update res_ptr
- stq $22,-16($16)
- stq $23,-8($16)
-.Lend2: addq $19,4,$19 # restore loop cnt
- beq $19,.Lret
- # Start software pipeline for 2nd loop
- ldq $0,0($18)
- ldq $4,0($17)
- subq $19,1,$19
- beq $19,.Lend0
- # 2nd loop handles remaining 1-3 limbs
- .align 4
-.Loop0: addq $0,$25,$28 # cy add
- ldq $0,8($18)
- subq $4,$28,$20 # main sub
- ldq $1,8($17)
- addq $18,8,$18
- cmpult $28,$25,$8 # compute cy from last add
- addq $17,8,$17
- stq $20,0($16)
- cmpult $4,$20,$25 # compute cy from last add
- subq $19,1,$19 # decr loop cnt
- or $8,$25,$25 # combine cy from the two adds
- addq $16,8,$16
- or $1,$31,$4
- bne $19,.Loop0
-.Lend0: addq $0,$25,$28 # cy add
- subq $4,$28,$20 # main sub
- cmpult $28,$25,$8 # compute cy from last add
- cmpult $4,$20,$25 # compute cy from last add
- stq $20,0($16)
- or $8,$25,$25 # combine cy from the two adds
-
-.Lret: or $25,$31,$0 # return cy
- ret $31,($26),1
- .end __mpn_sub_n
diff --git a/ports/sysdeps/alpha/alphaev6/Implies b/ports/sysdeps/alpha/alphaev6/Implies
deleted file mode 100644
index 0e7fc17..0000000
--- a/ports/sysdeps/alpha/alphaev6/Implies
+++ /dev/null
@@ -1 +0,0 @@
-alpha/alphaev5
diff --git a/ports/sysdeps/alpha/alphaev6/addmul_1.S b/ports/sysdeps/alpha/alphaev6/addmul_1.S
deleted file mode 100644
index 9e56fc8..0000000
--- a/ports/sysdeps/alpha/alphaev6/addmul_1.S
+++ /dev/null
@@ -1,477 +0,0 @@
- # Alpha ev6 mpn_addmul_1 -- Multiply a limb vector with a limb and add
- # the result to a second limb vector.
- #
- # Copyright (C) 2000-2014 Free Software Foundation, Inc.
- #
- # This file is part of the GNU MP Library.
- #
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published
- # by the Free Software Foundation; either version 2.1 of the License, or (at
- # your option) any later version.
- #
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
- #
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
- # INPUT PARAMETERS
- # res_ptr $16
- # s1_ptr $17
- # size $18
- # s2_limb $19
- #
- # This code runs at 42 cycles/limb on EV4, 18 cycles/limb on EV5, and
- # exactly 3.625 cycles/limb on EV6...
- #
- # This code was written in close cooperation with ev6 pipeline expert
- # Steve Root (root@toober.hlo.dec.com). Any errors are tege's fault, though.
- #
- # Register usages for unrolled loop:
- # 0-3 mul's
- # 4-7 acc's
- # 8-15 mul results
- # 20,21 carry's
- # 22,23 save for stores
- #
- # Sustains 8 mul-adds in 29 cycles in the unrolled inner loop.
- #
- # The stores can issue a cycle late so we have paired no-op's to 'catch'
- # them, so that further disturbance to the schedule is damped.
- #
- # We couldn't pair the loads, because the entangled schedule of the
- # carry's has to happen on one side {0} of the machine. Note, the total
- # use of U0, and the total use of L0 (after attending to the stores).
- # which is part of the reason why....
- #
- # This is a great schedule for the d_cache, a poor schedule for the
- # b_cache. The lockup on U0 means that any stall can't be recovered
- # from. Consider a ldq in L1. say that load gets stalled because it
- # collides with a fill from the b_Cache. On the next cycle, this load
- # gets priority. If first looks at L0, and goes there. The instruction
- # we intended for L0 gets to look at L1, which is NOT where we want
- # it. It either stalls 1, because it can't go in L0, or goes there, and
- # causes a further instruction to stall.
- #
- # So for b_cache, we're likely going to want to put one or more cycles
- # back into the code! And, of course, put in prefetches. For the
- # accumulator, lds, intent to modify. For the multiplier, you might
- # want ldq, evict next, if you're not wanting to use it again soon. Use
- # 256 ahead of present pointer value. At a place where we have an mt
- # followed by a bookkeeping, put the bookkeeping in upper, and the
- # prefetch into lower.
- #
- # Note, the usage of physical registers per cycle is smoothed off, as
- # much as possible.
- #
- # Note, the ldq's and stq's are at the end of the quadpacks. note, we'd
- # like not to have a ldq or stq to preceded a conditional branch in a
- # quadpack. The conditional branch moves the retire pointer one cycle
- # later.
- #
- # Optimization notes:
- # Callee-saves regs: $9 $10 $11 $12 $13 $14 $15 $26 ?$27?
- # Reserved regs: $29 $30 $31
- # Free caller-saves regs in unrolled code: $24 $25 $28
- # We should swap some of the callee-saves regs for some of the free
- # caller-saves regs, saving some overhead cycles.
- # Most importantly, we should write fast code for the 0-7 case.
- # The code we use there are for the 21164, and runs at 7 cycles/limb
- # on the 21264. Should not be hard, if we write specialized code for
- # 1-7 limbs (the one for 0 limbs should be straightforward). We then just
- # need a jump table indexed by the low 3 bits of the count argument.
-
- .set noreorder
- .set noat
- .text
-
- .globl __mpn_addmul_1
- .ent __mpn_addmul_1
-__mpn_addmul_1:
- .frame $30,0,$26,0
- .prologue 0
-
- cmpult $18, 8, $1
- beq $1, $Large
-
- ldq $2, 0($17) # $2 = s1_limb
- addq $17, 8, $17 # s1_ptr++
- subq $18, 1, $18 # size--
- mulq $2, $19, $3 # $3 = prod_low
- ldq $5, 0($16) # $5 = *res_ptr
- umulh $2, $19, $0 # $0 = prod_high
- beq $18, $Lend0b # jump if size was == 1
- ldq $2, 0($17) # $2 = s1_limb
- addq $17, 8, $17 # s1_ptr++
- subq $18, 1, $18 # size--
- addq $5, $3, $3
- cmpult $3, $5, $4
- stq $3, 0($16)
- addq $16, 8, $16 # res_ptr++
- beq $18, $Lend0a # jump if size was == 2
-
- .align 3
-$Loop0: mulq $2, $19, $3 # $3 = prod_low
- ldq $5, 0($16) # $5 = *res_ptr
- addq $4, $0, $0 # cy_limb = cy_limb + 'cy'
- subq $18, 1, $18 # size--
- umulh $2, $19, $4 # $4 = cy_limb
- ldq $2, 0($17) # $2 = s1_limb
- addq $17, 8, $17 # s1_ptr++
- addq $3, $0, $3 # $3 = cy_limb + prod_low
- cmpult $3, $0, $0 # $0 = carry from (cy_limb + prod_low)
- addq $5, $3, $3
- cmpult $3, $5, $5
- stq $3, 0($16)
- addq $16, 8, $16 # res_ptr++
- addq $5, $0, $0 # combine carries
- bne $18, $Loop0
-$Lend0a:
- mulq $2, $19, $3 # $3 = prod_low
- ldq $5, 0($16) # $5 = *res_ptr
- addq $4, $0, $0 # cy_limb = cy_limb + 'cy'
- umulh $2, $19, $4 # $4 = cy_limb
- addq $3, $0, $3 # $3 = cy_limb + prod_low
- cmpult $3, $0, $0 # $0 = carry from (cy_limb + prod_low)
- addq $5, $3, $3
- cmpult $3, $5, $5
- stq $3, 0($16)
- addq $5, $0, $0 # combine carries
- addq $4, $0, $0 # cy_limb = prod_high + cy
- ret $31, ($26), 1
-$Lend0b:
- addq $5, $3, $3
- cmpult $3, $5, $5
- stq $3, 0($16)
- addq $0, $5, $0
- ret $31, ($26), 1
-
-$Large:
- lda $30, -240($30)
- stq $9, 8($30)
- stq $10, 16($30)
- stq $11, 24($30)
- stq $12, 32($30)
- stq $13, 40($30)
- stq $14, 48($30)
- stq $15, 56($30)
-
- and $18, 7, $20 # count for the first loop, 0-7
- srl $18, 3, $18 # count for unrolled loop
- bis $31, $31, $0
- beq $20, $Lunroll
- ldq $2, 0($17) # $2 = s1_limb
- addq $17, 8, $17 # s1_ptr++
- subq $20, 1, $20 # size--
- mulq $2, $19, $3 # $3 = prod_low
- ldq $5, 0($16) # $5 = *res_ptr
- umulh $2, $19, $0 # $0 = prod_high
- beq $20, $Lend1b # jump if size was == 1
- ldq $2, 0($17) # $2 = s1_limb
- addq $17, 8, $17 # s1_ptr++
- subq $20, 1, $20 # size--
- addq $5, $3, $3
- cmpult $3, $5, $4
- stq $3, 0($16)
- addq $16, 8, $16 # res_ptr++
- beq $20, $Lend1a # jump if size was == 2
-
- .align 3
-$Loop1: mulq $2, $19, $3 # $3 = prod_low
- ldq $5, 0($16) # $5 = *res_ptr
- addq $4, $0, $0 # cy_limb = cy_limb + 'cy'
- subq $20, 1, $20 # size--
- umulh $2, $19, $4 # $4 = cy_limb
- ldq $2, 0($17) # $2 = s1_limb
- addq $17, 8, $17 # s1_ptr++
- addq $3, $0, $3 # $3 = cy_limb + prod_low
- cmpult $3, $0, $0 # $0 = carry from (cy_limb + prod_low)
- addq $5, $3, $3
- cmpult $3, $5, $5
- stq $3, 0($16)
- addq $16, 8, $16 # res_ptr++
- addq $5, $0, $0 # combine carries
- bne $20, $Loop1
-
-$Lend1a:
- mulq $2, $19, $3 # $3 = prod_low
- ldq $5, 0($16) # $5 = *res_ptr
- addq $4, $0, $0 # cy_limb = cy_limb + 'cy'
- umulh $2, $19, $4 # $4 = cy_limb
- addq $3, $0, $3 # $3 = cy_limb + prod_low
- cmpult $3, $0, $0 # $0 = carry from (cy_limb + prod_low)
- addq $5, $3, $3
- cmpult $3, $5, $5
- stq $3, 0($16)
- addq $16, 8, $16 # res_ptr++
- addq $5, $0, $0 # combine carries
- addq $4, $0, $0 # cy_limb = prod_high + cy
- br $31, $Lunroll
-$Lend1b:
- addq $5, $3, $3
- cmpult $3, $5, $5
- stq $3, 0($16)
- addq $16, 8, $16 # res_ptr++
- addq $0, $5, $0
-
-$Lunroll:
- lda $17, -16($17) # L1 bookkeeping
- lda $16, -16($16) # L1 bookkeeping
- bis $0, $31, $12
-
- # ____ UNROLLED LOOP SOFTWARE PIPELINE STARTUP ____
-
- ldq $2, 16($17) # L1
- ldq $3, 24($17) # L1
- lda $18, -1($18) # L1 bookkeeping
- ldq $6, 16($16) # L1
- ldq $7, 24($16) # L1
- ldq $0, 32($17) # L1
- mulq $19, $2, $13 # U1
- ldq $1, 40($17) # L1
- umulh $19, $2, $14 # U1
- mulq $19, $3, $15 # U1
- lda $17, 64($17) # L1 bookkeeping
- ldq $4, 32($16) # L1
- ldq $5, 40($16) # L1
- umulh $19, $3, $8 # U1
- ldq $2, -16($17) # L1
- mulq $19, $0, $9 # U1
- ldq $3, -8($17) # L1
- umulh $19, $0, $10 # U1
- addq $6, $13, $6 # L0 lo + acc
- mulq $19, $1, $11 # U1
- cmpult $6, $13, $20 # L0 lo add => carry
- lda $16, 64($16) # L1 bookkeeping
- addq $6, $12, $22 # U0 hi add => answer
- cmpult $22, $12, $21 # L0 hi add => carry
- addq $14, $20, $14 # U0 hi mul + carry
- ldq $6, -16($16) # L1
- addq $7, $15, $23 # L0 lo + acc
- addq $14, $21, $14 # U0 hi mul + carry
- ldq $7, -8($16) # L1
- umulh $19, $1, $12 # U1
- cmpult $23, $15, $20 # L0 lo add => carry
- addq $23, $14, $23 # U0 hi add => answer
- ldq $0, 0($17) # L1
- mulq $19, $2, $13 # U1
- cmpult $23, $14, $21 # L0 hi add => carry
- addq $8, $20, $8 # U0 hi mul + carry
- ldq $1, 8($17) # L1
- umulh $19, $2, $14 # U1
- addq $4, $9, $4 # L0 lo + acc
- stq $22, -48($16) # L0
- stq $23, -40($16) # L1
- mulq $19, $3, $15 # U1
- addq $8, $21, $8 # U0 hi mul + carry
- cmpult $4, $9, $20 # L0 lo add => carry
- addq $4, $8, $22 # U0 hi add => answer
- ble $18, $Lend # U1 bookkeeping
-
- # ____ MAIN UNROLLED LOOP ____
- .align 4
-$Loop:
- bis $31, $31, $31 # U1 mt
- cmpult $22, $8, $21 # L0 hi add => carry
- addq $10, $20, $10 # U0 hi mul + carry
- ldq $4, 0($16) # L1
-
- bis $31, $31, $31 # U1 mt
- addq $5, $11, $23 # L0 lo + acc
- addq $10, $21, $10 # L0 hi mul + carry
- ldq $5, 8($16) # L1
-
- umulh $19, $3, $8 # U1
- cmpult $23, $11, $20 # L0 lo add => carry
- addq $23, $10, $23 # U0 hi add => answer
- ldq $2, 16($17) # L1
-
- mulq $19, $0, $9 # U1
- cmpult $23, $10, $21 # L0 hi add => carry
- addq $12, $20, $12 # U0 hi mul + carry
- ldq $3, 24($17) # L1
-
- umulh $19, $0, $10 # U1
- addq $6, $13, $6 # L0 lo + acc
- stq $22, -32($16) # L0
- stq $23, -24($16) # L1
-
- bis $31, $31, $31 # L0 st slosh
- mulq $19, $1, $11 # U1
- bis $31, $31, $31 # L1 st slosh
- addq $12, $21, $12 # U0 hi mul + carry
-
- cmpult $6, $13, $20 # L0 lo add => carry
- bis $31, $31, $31 # U1 mt
- lda $18, -1($18) # L1 bookkeeping
- addq $6, $12, $22 # U0 hi add => answer
-
- bis $31, $31, $31 # U1 mt
- cmpult $22, $12, $21 # L0 hi add => carry
- addq $14, $20, $14 # U0 hi mul + carry
- ldq $6, 16($16) # L1
-
- bis $31, $31, $31 # U1 mt
- addq $7, $15, $23 # L0 lo + acc
- addq $14, $21, $14 # U0 hi mul + carry
- ldq $7, 24($16) # L1
-
- umulh $19, $1, $12 # U1
- cmpult $23, $15, $20 # L0 lo add => carry
- addq $23, $14, $23 # U0 hi add => answer
- ldq $0, 32($17) # L1
-
- mulq $19, $2, $13 # U1
- cmpult $23, $14, $21 # L0 hi add => carry
- addq $8, $20, $8 # U0 hi mul + carry
- ldq $1, 40($17) # L1
-
- umulh $19, $2, $14 # U1
- addq $4, $9, $4 # U0 lo + acc
- stq $22, -16($16) # L0
- stq $23, -8($16) # L1
-
- bis $31, $31, $31 # L0 st slosh
- mulq $19, $3, $15 # U1
- bis $31, $31, $31 # L1 st slosh
- addq $8, $21, $8 # L0 hi mul + carry
-
- cmpult $4, $9, $20 # L0 lo add => carry
- bis $31, $31, $31 # U1 mt
- lda $17, 64($17) # L1 bookkeeping
- addq $4, $8, $22 # U0 hi add => answer
-
- bis $31, $31, $31 # U1 mt
- cmpult $22, $8, $21 # L0 hi add => carry
- addq $10, $20, $10 # U0 hi mul + carry
- ldq $4, 32($16) # L1
-
- bis $31, $31, $31 # U1 mt
- addq $5, $11, $23 # L0 lo + acc
- addq $10, $21, $10 # L0 hi mul + carry
- ldq $5, 40($16) # L1
-
- umulh $19, $3, $8 # U1
- cmpult $23, $11, $20 # L0 lo add => carry
- addq $23, $10, $23 # U0 hi add => answer
- ldq $2, -16($17) # L1
-
- mulq $19, $0, $9 # U1
- cmpult $23, $10, $21 # L0 hi add => carry
- addq $12, $20, $12 # U0 hi mul + carry
- ldq $3, -8($17) # L1
-
- umulh $19, $0, $10 # U1
- addq $6, $13, $6 # L0 lo + acc
- stq $22, 0($16) # L0
- stq $23, 8($16) # L1
-
- bis $31, $31, $31 # L0 st slosh
- mulq $19, $1, $11 # U1
- bis $31, $31, $31 # L1 st slosh
- addq $12, $21, $12 # U0 hi mul + carry
-
- cmpult $6, $13, $20 # L0 lo add => carry
- bis $31, $31, $31 # U1 mt
- lda $16, 64($16) # L1 bookkeeping
- addq $6, $12, $22 # U0 hi add => answer
-
- bis $31, $31, $31 # U1 mt
- cmpult $22, $12, $21 # L0 hi add => carry
- addq $14, $20, $14 # U0 hi mul + carry
- ldq $6, -16($16) # L1
-
- bis $31, $31, $31 # U1 mt
- addq $7, $15, $23 # L0 lo + acc
- addq $14, $21, $14 # U0 hi mul + carry
- ldq $7, -8($16) # L1
-
- umulh $19, $1, $12 # U1
- cmpult $23, $15, $20 # L0 lo add => carry
- addq $23, $14, $23 # U0 hi add => answer
- ldq $0, 0($17) # L1
-
- mulq $19, $2, $13 # U1
- cmpult $23, $14, $21 # L0 hi add => carry
- addq $8, $20, $8 # U0 hi mul + carry
- ldq $1, 8($17) # L1
-
- umulh $19, $2, $14 # U1
- addq $4, $9, $4 # L0 lo + acc
- stq $22, -48($16) # L0
- stq $23, -40($16) # L1
-
- bis $31, $31, $31 # L0 st slosh
- mulq $19, $3, $15 # U1
- bis $31, $31, $31 # L1 st slosh
- addq $8, $21, $8 # U0 hi mul + carry
-
- cmpult $4, $9, $20 # L0 lo add => carry
- addq $4, $8, $22 # U0 hi add => answer
- bis $31, $31, $31 # L1 mt
- bgt $18, $Loop # U1 bookkeeping
-
-# ____ UNROLLED LOOP SOFTWARE PIPELINE FINISH ____
-$Lend:
- cmpult $22, $8, $21 # L0 hi add => carry
- addq $10, $20, $10 # U0 hi mul + carry
- ldq $4, 0($16) # L1
- addq $5, $11, $23 # L0 lo + acc
- addq $10, $21, $10 # L0 hi mul + carry
- ldq $5, 8($16) # L1
- umulh $19, $3, $8 # U1
- cmpult $23, $11, $20 # L0 lo add => carry
- addq $23, $10, $23 # U0 hi add => answer
- mulq $19, $0, $9 # U1
- cmpult $23, $10, $21 # L0 hi add => carry
- addq $12, $20, $12 # U0 hi mul + carry
- umulh $19, $0, $10 # U1
- addq $6, $13, $6 # L0 lo + acc
- stq $22, -32($16) # L0
- stq $23, -24($16) # L1
- mulq $19, $1, $11 # U1
- addq $12, $21, $12 # U0 hi mul + carry
- cmpult $6, $13, $20 # L0 lo add => carry
- addq $6, $12, $22 # U0 hi add => answer
- cmpult $22, $12, $21 # L0 hi add => carry
- addq $14, $20, $14 # U0 hi mul + carry
- addq $7, $15, $23 # L0 lo + acc
- addq $14, $21, $14 # U0 hi mul + carry
- umulh $19, $1, $12 # U1
- cmpult $23, $15, $20 # L0 lo add => carry
- addq $23, $14, $23 # U0 hi add => answer
- cmpult $23, $14, $21 # L0 hi add => carry
- addq $8, $20, $8 # U0 hi mul + carry
- addq $4, $9, $4 # U0 lo + acc
- stq $22, -16($16) # L0
- stq $23, -8($16) # L1
- bis $31, $31, $31 # L0 st slosh
- addq $8, $21, $8 # L0 hi mul + carry
- cmpult $4, $9, $20 # L0 lo add => carry
- addq $4, $8, $22 # U0 hi add => answer
- cmpult $22, $8, $21 # L0 hi add => carry
- addq $10, $20, $10 # U0 hi mul + carry
- addq $5, $11, $23 # L0 lo + acc
- addq $10, $21, $10 # L0 hi mul + carry
- cmpult $23, $11, $20 # L0 lo add => carry
- addq $23, $10, $23 # U0 hi add => answer
- cmpult $23, $10, $21 # L0 hi add => carry
- addq $12, $20, $12 # U0 hi mul + carry
- stq $22, 0($16) # L0
- stq $23, 8($16) # L1
- addq $12, $21, $0 # U0 hi mul + carry
-
- ldq $9, 8($30)
- ldq $10, 16($30)
- ldq $11, 24($30)
- ldq $12, 32($30)
- ldq $13, 40($30)
- ldq $14, 48($30)
- ldq $15, 56($30)
- lda $30, 240($30)
- ret $31, ($26), 1
-
- .end __mpn_addmul_1
diff --git a/ports/sysdeps/alpha/alphaev6/fpu/e_sqrt.S b/ports/sysdeps/alpha/alphaev6/fpu/e_sqrt.S
deleted file mode 100644
index 3a3526d..0000000
--- a/ports/sysdeps/alpha/alphaev6/fpu/e_sqrt.S
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(__ieee754_sqrt)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- .align 4
-#ifdef _IEEE_FP_INEXACT
- sqrtt/suid $f16, $f0
-#else
- sqrtt/sud $f16, $f0
-#endif
- ret
- nop
- nop
-
-END(__ieee754_sqrt)
-
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-strong_alias(__ieee754_sqrt, __sqrt_finite1)
-compat_symbol(libm, __sqrt_finite1, __sqrt_finite, GLIBC_2_15)
-versioned_symbol(libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18)
-#else
-strong_alias(__ieee754_sqrt, __sqrt_finite)
-#endif
diff --git a/ports/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S b/ports/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S
deleted file mode 100644
index f5cbc26..0000000
--- a/ports/sysdeps/alpha/alphaev6/fpu/e_sqrtf.S
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(__ieee754_sqrtf)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- .align 4
-#ifdef _IEEE_FP_INEXACT
- sqrts/suid $f16, $f0
-#else
- sqrts/sud $f16, $f0
-#endif
- ret
- nop
- nop
-
-END(__ieee754_sqrtf)
-
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-strong_alias(__ieee754_sqrtf, __sqrtf_finite1)
-compat_symbol(libm, __sqrtf_finite1, __sqrtf_finite, GLIBC_2_15)
-versioned_symbol(libm, __ieee754_sqrtf, __sqrtf_finite, GLIBC_2_18)
-#else
-strong_alias(__ieee754_sqrtf, __sqrtf_finite)
-#endif
diff --git a/ports/sysdeps/alpha/alphaev6/memcpy.S b/ports/sysdeps/alpha/alphaev6/memcpy.S
deleted file mode 100644
index 0208501..0000000
--- a/ports/sysdeps/alpha/alphaev6/memcpy.S
+++ /dev/null
@@ -1,255 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/*
- * Much of the information about 21264 scheduling/coding comes from:
- * Compiler Writer's Guide for the Alpha 21264
- * abbreviated as 'CWG' in other comments here
- * ftp.digital.com/pub/Digital/info/semiconductor/literature/dsc-library.html
- * Scheduling notation:
- * E - either cluster
- * U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
- * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
- *
- * Temp usage notes:
- * $0 - destination address
- * $1,$2, - scratch
- */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(memcpy)
- .prologue 0
-
- mov $16, $0 # E : copy dest to return
- ble $18, $nomoredata # U : done with the copy?
- xor $16, $17, $1 # E : are source and dest alignments the same?
- and $1, 7, $1 # E : are they the same mod 8?
-
- bne $1, $misaligned # U : Nope - gotta do this the slow way
- /* source and dest are same mod 8 address */
- and $16, 7, $1 # E : Are both 0mod8?
- beq $1, $both_0mod8 # U : Yes
- nop # E :
-
- /*
- * source and dest are same misalignment. move a byte at a time
- * until a 0mod8 alignment for both is reached.
- * At least one byte more to move
- */
-
-$head_align:
- ldbu $1, 0($17) # L : grab a byte
- subq $18, 1, $18 # E : count--
- addq $17, 1, $17 # E : src++
- stb $1, 0($16) # L :
- addq $16, 1, $16 # E : dest++
- and $16, 7, $1 # E : Are we at 0mod8 yet?
- ble $18, $nomoredata # U : done with the copy?
- bne $1, $head_align # U :
-
-$both_0mod8:
- cmple $18, 127, $1 # E : Can we unroll the loop?
- bne $1, $no_unroll # U :
- and $16, 63, $1 # E : get mod64 alignment
- beq $1, $do_unroll # U : no single quads to fiddle
-
-$single_head_quad:
- ldq $1, 0($17) # L : get 8 bytes
- subq $18, 8, $18 # E : count -= 8
- addq $17, 8, $17 # E : src += 8
- nop # E :
-
- stq $1, 0($16) # L : store
- addq $16, 8, $16 # E : dest += 8
- and $16, 63, $1 # E : get mod64 alignment
- bne $1, $single_head_quad # U : still not fully aligned
-
-$do_unroll:
- addq $16, 64, $7 # E : Initial (+1 trip) wh64 address
- cmple $18, 127, $1 # E : Can we go through the unrolled loop?
- bne $1, $tail_quads # U : Nope
- nop # E :
-
-$unroll_body:
- wh64 ($7) # L1 : memory subsystem hint: 64 bytes at
- # ($7) are about to be over-written
- ldq $6, 0($17) # L0 : bytes 0..7
- nop # E :
- nop # E :
-
- ldq $4, 8($17) # L : bytes 8..15
- ldq $5, 16($17) # L : bytes 16..23
- addq $7, 64, $7 # E : Update next wh64 address
- nop # E :
-
- ldq $3, 24($17) # L : bytes 24..31
- addq $16, 64, $1 # E : fallback value for wh64
- nop # E :
- nop # E :
-
- addq $17, 32, $17 # E : src += 32 bytes
- stq $6, 0($16) # L : bytes 0..7
- nop # E :
- nop # E :
-
- stq $4, 8($16) # L : bytes 8..15
- stq $5, 16($16) # L : bytes 16..23
- subq $18, 192, $2 # E : At least two more trips to go?
- nop # E :
-
- stq $3, 24($16) # L : bytes 24..31
- addq $16, 32, $16 # E : dest += 32 bytes
- nop # E :
- nop # E :
-
- ldq $6, 0($17) # L : bytes 0..7
- ldq $4, 8($17) # L : bytes 8..15
- cmovlt $2, $1, $7 # E : Latency 2, extra map slot - Use
- # fallback wh64 address if < 2 more trips
- nop # E :
-
- ldq $5, 16($17) # L : bytes 16..23
- ldq $3, 24($17) # L : bytes 24..31
- addq $16, 32, $16 # E : dest += 32
- subq $18, 64, $18 # E : count -= 64
-
- addq $17, 32, $17 # E : src += 32
- stq $6, -32($16) # L : bytes 0..7
- stq $4, -24($16) # L : bytes 8..15
- cmple $18, 63, $1 # E : At least one more trip?
-
- stq $5, -16($16) # L : bytes 16..23
- stq $3, -8($16) # L : bytes 24..31
- nop # E :
- beq $1, $unroll_body
-
-$tail_quads:
-$no_unroll:
- .align 4
- subq $18, 8, $18 # E : At least a quad left?
- blt $18, $less_than_8 # U : Nope
- nop # E :
- nop # E :
-
-$move_a_quad:
- ldq $1, 0($17) # L : fetch 8
- subq $18, 8, $18 # E : count -= 8
- addq $17, 8, $17 # E : src += 8
- nop # E :
-
- stq $1, 0($16) # L : store 8
- addq $16, 8, $16 # E : dest += 8
- bge $18, $move_a_quad # U :
- nop # E :
-
-$less_than_8:
- .align 4
- addq $18, 8, $18 # E : add back for trailing bytes
- ble $18, $nomoredata # U : All-done
- nop # E :
- nop # E :
-
- /* Trailing bytes */
-$tail_bytes:
- subq $18, 1, $18 # E : count--
- ldbu $1, 0($17) # L : fetch a byte
- addq $17, 1, $17 # E : src++
- nop # E :
-
- stb $1, 0($16) # L : store a byte
- addq $16, 1, $16 # E : dest++
- bgt $18, $tail_bytes # U : more to be done?
- nop # E :
-
- /* branching to exit takes 3 extra cycles, so replicate exit here */
- ret $31, ($26), 1 # L0 :
- nop # E :
- nop # E :
- nop # E :
-
-$misaligned:
- mov $0, $4 # E : dest temp
- and $0, 7, $1 # E : dest alignment mod8
- beq $1, $dest_0mod8 # U : life doesnt totally suck
- nop
-
-$aligndest:
- ble $18, $nomoredata # U :
- ldbu $1, 0($17) # L : fetch a byte
- subq $18, 1, $18 # E : count--
- addq $17, 1, $17 # E : src++
-
- stb $1, 0($4) # L : store it
- addq $4, 1, $4 # E : dest++
- and $4, 7, $1 # E : dest 0mod8 yet?
- bne $1, $aligndest # U : go until we are aligned.
-
- /* Source has unknown alignment, but dest is known to be 0mod8 */
-$dest_0mod8:
- subq $18, 8, $18 # E : At least a quad left?
- blt $18, $misalign_tail # U : Nope
- ldq_u $3, 0($17) # L : seed (rotating load) of 8 bytes
- nop # E :
-
-$mis_quad:
- ldq_u $16, 8($17) # L : Fetch next 8
- extql $3, $17, $3 # U : masking
- extqh $16, $17, $1 # U : masking
- bis $3, $1, $1 # E : merged bytes to store
-
- subq $18, 8, $18 # E : count -= 8
- addq $17, 8, $17 # E : src += 8
- stq $1, 0($4) # L : store 8 (aligned)
- mov $16, $3 # E : "rotate" source data
-
- addq $4, 8, $4 # E : dest += 8
- bge $18, $mis_quad # U : More quads to move
- nop
- nop
-
-$misalign_tail:
- addq $18, 8, $18 # E : account for tail stuff
- ble $18, $nomoredata # U :
- nop
- nop
-
-$misalign_byte:
- ldbu $1, 0($17) # L : fetch 1
- subq $18, 1, $18 # E : count--
- addq $17, 1, $17 # E : src++
- nop # E :
-
- stb $1, 0($4) # L : store
- addq $4, 1, $4 # E : dest++
- bgt $18, $misalign_byte # U : more to go?
- nop
-
-
-$nomoredata:
- ret $31, ($26), 1 # L0 :
- nop # E :
- nop # E :
- nop # E :
-
-END(memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/ports/sysdeps/alpha/alphaev6/memset.S b/ports/sysdeps/alpha/alphaev6/memset.S
deleted file mode 100644
index f871561..0000000
--- a/ports/sysdeps/alpha/alphaev6/memset.S
+++ /dev/null
@@ -1,223 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noat
- .set noreorder
-
-ENTRY(memset)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- /*
- * Serious stalling happens. The only way to mitigate this is to
- * undertake a major re-write to interleave the constant materialization
- * with other parts of the fall-through code. This is important, even
- * though it makes maintenance tougher.
- * Do this later.
- */
- and $17, 255, $1 # E : 00000000000000ch
- insbl $17, 1, $2 # U : 000000000000ch00
- mov $16, $0 # E : return value
- ble $18, $end # U : zero length requested?
-
- addq $18, $16, $6 # E : max address to write to
- or $1, $2, $17 # E : 000000000000chch
- insbl $1, 2, $3 # U : 0000000000ch0000
- insbl $1, 3, $4 # U : 00000000ch000000
-
- or $3, $4, $3 # E : 00000000chch0000
- inswl $17, 4, $5 # U : 0000chch00000000
- xor $16, $6, $1 # E : will complete write be within one quadword?
- inswl $17, 6, $2 # U : chch000000000000
-
- or $17, $3, $17 # E : 00000000chchchch
- or $2, $5, $2 # E : chchchch00000000
- bic $1, 7, $1 # E : fit within a single quadword?
- and $16, 7, $3 # E : Target addr misalignment
-
- or $17, $2, $17 # E : chchchchchchchch
- beq $1, $within_quad # U :
- nop # E :
- beq $3, $aligned # U : target is 0mod8
-
- /*
- * Target address is misaligned, and won't fit within a quadword.
- */
- ldq_u $4, 0($16) # L : Fetch first partial
- mov $16, $5 # E : Save the address
- insql $17, $16, $2 # U : Insert new bytes
- subq $3, 8, $3 # E : Invert (for addressing uses)
-
- addq $18, $3, $18 # E : $18 is new count ($3 is negative)
- mskql $4, $16, $4 # U : clear relevant parts of the quad
- subq $16, $3, $16 # E : $16 is new aligned destination
- or $2, $4, $1 # E : Final bytes
-
- nop
- stq_u $1,0($5) # L : Store result
- nop
- nop
-
- .align 4
-$aligned:
- /*
- * We are now guaranteed to be quad aligned, with at least
- * one partial quad to write.
- */
-
- sra $18, 3, $3 # U : Number of remaining quads to write
- and $18, 7, $18 # E : Number of trailing bytes to write
- mov $16, $5 # E : Save dest address
- beq $3, $no_quad # U : tail stuff only
-
- /*
- * It's worth the effort to unroll this and use wh64 if possible.
- * At this point, entry values are:
- * $16 Current destination address
- * $5 A copy of $16
- * $6 The max quadword address to write to
- * $18 Number trailer bytes
- * $3 Number quads to write
- */
-
- and $16, 0x3f, $2 # E : Forward work (only useful for unrolled loop)
- subq $3, 16, $4 # E : Only try to unroll if > 128 bytes
- subq $2, 0x40, $1 # E : bias counter (aligning stuff 0mod64)
- blt $4, $loop # U :
-
- /*
- * We know we've got at least 16 quads, minimum of one trip
- * through unrolled loop. Do a quad at a time to get us 0mod64
- * aligned.
- */
-
- nop # E :
- nop # E :
- nop # E :
- beq $1, $bigalign # U :
-
-$alignmod64:
- stq $17, 0($5) # L :
- subq $3, 1, $3 # E : For consistency later
- addq $1, 8, $1 # E : Increment towards zero for alignment
- addq $5, 8, $4 # E : Initial wh64 address (filler instruction)
-
- nop
- nop
- addq $5, 8, $5 # E : Inc address
- blt $1, $alignmod64 # U :
-
-$bigalign:
- /*
- * $3 - number quads left to go
- * $5 - target address (aligned 0mod64)
- * $17 - mask of stuff to store
- * Scratch registers available: $7, $2, $4, $1
- * We know that we'll be taking a minimum of one trip through.
- * CWG Section 3.7.6: do not expect a sustained store rate of > 1/cycle
- * Assumes the wh64 needs to be for 2 trips through the loop in the future.
- * The wh64 is issued on for the starting destination address for trip +2
- * through the loop, and if there are less than two trips left, the target
- * address will be for the current trip.
- */
-
-$do_wh64:
- wh64 ($4) # L1 : memory subsystem write hint
- subq $3, 24, $2 # E : For determining future wh64 addresses
- stq $17, 0($5) # L :
- nop # E :
-
- addq $5, 128, $4 # E : speculative target of next wh64
- stq $17, 8($5) # L :
- stq $17, 16($5) # L :
- addq $5, 64, $7 # E : Fallback address for wh64 (== next trip addr)
-
- stq $17, 24($5) # L :
- stq $17, 32($5) # L :
- cmovlt $2, $7, $4 # E : Latency 2, extra mapping cycle
- nop
-
- stq $17, 40($5) # L :
- stq $17, 48($5) # L :
- subq $3, 16, $2 # E : Repeat the loop at least once more?
- nop
-
- stq $17, 56($5) # L :
- addq $5, 64, $5 # E :
- subq $3, 8, $3 # E :
- bge $2, $do_wh64 # U :
-
- nop
- nop
- nop
- beq $3, $no_quad # U : Might have finished already
-
- .align 4
- /*
- * Simple loop for trailing quadwords, or for small amounts
- * of data (where we can't use an unrolled loop and wh64)
- */
-$loop:
- stq $17, 0($5) # L :
- subq $3, 1, $3 # E : Decrement number quads left
- addq $5, 8, $5 # E : Inc address
- bne $3, $loop # U : more?
-
-$no_quad:
- /*
- * Write 0..7 trailing bytes.
- */
- nop # E :
- beq $18, $end # U : All done?
- ldq $7, 0($5) # L :
- mskqh $7, $6, $2 # U : Mask final quad
-
- insqh $17, $6, $4 # U : New bits
- or $2, $4, $1 # E : Put it all together
- stq $1, 0($5) # L : And back to memory
- ret $31,($26),1 # L0 :
-
-$within_quad:
- ldq_u $1, 0($16) # L :
- insql $17, $16, $2 # U : New bits
- mskql $1, $16, $4 # U : Clear old
- or $2, $4, $2 # E : New result
-
- mskql $2, $6, $4 # U :
- mskqh $1, $6, $2 # U :
- or $2, $4, $1 # E :
- stq_u $1, 0($16) # L :
-
-$end:
- nop
- nop
- nop
- ret $31,($26),1 # L0 :
-
- END(memset)
-libc_hidden_builtin_def (memset)
diff --git a/ports/sysdeps/alpha/alphaev6/stxcpy.S b/ports/sysdeps/alpha/alphaev6/stxcpy.S
deleted file mode 100644
index 6a8b92c..0000000
--- a/ports/sysdeps/alpha/alphaev6/stxcpy.S
+++ /dev/null
@@ -1,314 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy a null-terminated string from SRC to DST.
-
- This is an internal routine used by strcpy, stpcpy, and strcat.
- As such, it uses special linkage conventions to make implementation
- of these public functions more efficient.
-
- On input:
- t9 = return address
- a0 = DST
- a1 = SRC
-
- On output:
- t8 = bitmask (with one bit set) indicating the last byte written
- a0 = unaligned address of the last *word* written
-
- Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-
-#include <sysdep.h>
-
- .arch ev6
- .set noat
- .set noreorder
-
- .text
- .type __stxcpy, @function
- .globl __stxcpy
- .usepv __stxcpy, no
-
- cfi_startproc
- cfi_return_column (t9)
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == the first source word. */
- .align 4
-stxcpy_aligned:
- /* Create the 1st output word and detect 0's in the 1st input word. */
- lda t2, -1 # E : build a mask against false zero
- mskqh t2, a1, t2 # U : detection in the src word (stall)
- mskqh t1, a1, t3 # U :
- ornot t1, t2, t2 # E : (stall)
-
- mskql t0, a1, t0 # U : assemble the first output word
- cmpbge zero, t2, t10 # E : bits set iff null found
- or t0, t3, t1 # E : (stall)
- bne t10, $a_eos # U : (stall)
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == a source word not containing a null. */
- /* Nops here to separate store quads from load quads */
-
-$a_loop:
- stq_u t1, 0(a0) # L :
- addq a0, 8, a0 # E :
- nop
- nop
-
- ldq_u t1, 0(a1) # L : Latency=3
- addq a1, 8, a1 # E :
- cmpbge zero, t1, t10 # E : (3 cycle stall)
- beq t10, $a_loop # U : (stall for t10)
-
- /* Take care of the final (partial) word store.
- On entry to this basic block we have:
- t1 == the source word containing the null
- t10 == the cmpbge mask that found it. */
-$a_eos:
- negq t10, t6 # E : find low bit set
- and t10, t6, t8 # E : (stall)
- /* For the sake of the cache, don't read a destination word
- if we're not going to need it. */
- and t8, 0x80, t6 # E : (stall)
- bne t6, 1f # U : (stall)
-
- /* We're doing a partial word store and so need to combine
- our source and original destination words. */
- ldq_u t0, 0(a0) # L : Latency=3
- subq t8, 1, t6 # E :
- zapnot t1, t6, t1 # U : clear src bytes >= null (stall)
- or t8, t6, t10 # E : (stall)
-
- zap t0, t10, t0 # E : clear dst bytes <= null
- or t0, t1, t1 # E : (stall)
- nop
- nop
-
-1: stq_u t1, 0(a0) # L :
- ret (t9) # L0 : Latency=3
- nop
- nop
-
- .align 4
-__stxcpy:
- /* Are source and destination co-aligned? */
- xor a0, a1, t0 # E :
- unop # E :
- and t0, 7, t0 # E : (stall)
- bne t0, $unaligned # U : (stall)
-
- /* We are co-aligned; take care of a partial first word. */
- ldq_u t1, 0(a1) # L : load first src word
- and a0, 7, t0 # E : take care not to load a word ...
- addq a1, 8, a1 # E :
- beq t0, stxcpy_aligned # U : ... if we wont need it (stall)
-
- ldq_u t0, 0(a0) # L :
- br stxcpy_aligned # L0 : Latency=3
- nop
- nop
-
-
-/* The source and destination are not co-aligned. Align the destination
- and cope. We have to be very careful about not reading too much and
- causing a SEGV. */
-
- .align 4
-$u_head:
- /* We know just enough now to be able to assemble the first
- full source word. We can still find a zero at the end of it
- that prevents us from outputting the whole thing.
-
- On entry to this basic block:
- t0 == the first dest word, for masking back in, if needed else 0
- t1 == the low bits of the first source word
- t6 == bytemask that is -1 in dest word bytes */
-
- ldq_u t2, 8(a1) # L :
- addq a1, 8, a1 # E :
- extql t1, a1, t1 # U : (stall on a1)
- extqh t2, a1, t4 # U : (stall on a1)
-
- mskql t0, a0, t0 # U :
- or t1, t4, t1 # E :
- mskqh t1, a0, t1 # U : (stall on t1)
- or t0, t1, t1 # E : (stall on t1)
-
- or t1, t6, t6 # E :
- cmpbge zero, t6, t10 # E : (stall)
- lda t6, -1 # E : for masking just below
- bne t10, $u_final # U : (stall)
-
- mskql t6, a1, t6 # U : mask out the bits we have
- or t6, t2, t2 # E : already extracted before (stall)
- cmpbge zero, t2, t10 # E : testing eos (stall)
- bne t10, $u_late_head_exit # U : (stall)
-
- /* Finally, we've got all the stupid leading edge cases taken care
- of and we can set up to enter the main loop. */
-
- stq_u t1, 0(a0) # L : store first output word
- addq a0, 8, a0 # E :
- extql t2, a1, t0 # U : position ho-bits of lo word
- ldq_u t2, 8(a1) # U : read next high-order source word
-
- addq a1, 8, a1 # E :
- cmpbge zero, t2, t10 # E : (stall for t2)
- nop # E :
- bne t10, $u_eos # U : (stall)
-
- /* Unaligned copy main loop. In order to avoid reading too much,
- the loop is structured to detect zeros in aligned source words.
- This has, unfortunately, effectively pulled half of a loop
- iteration out into the head and half into the tail, but it does
- prevent nastiness from accumulating in the very thing we want
- to run as fast as possible.
-
- On entry to this basic block:
- t0 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word
-
- We further know that t2 does not contain a null terminator. */
-
- .align 3
-$u_loop:
- extqh t2, a1, t1 # U : extract high bits for current word
- addq a1, 8, a1 # E : (stall)
- extql t2, a1, t3 # U : extract low bits for next time (stall)
- addq a0, 8, a0 # E :
-
- or t0, t1, t1 # E : current dst word now complete
- ldq_u t2, 0(a1) # L : Latency=3 load high word for next time
- stq_u t1, -8(a0) # L : save the current word (stall)
- mov t3, t0 # E :
-
- cmpbge zero, t2, t10 # E : test new word for eos
- beq t10, $u_loop # U : (stall)
- nop
- nop
-
- /* We've found a zero somewhere in the source word we just read.
- If it resides in the lower half, we have one (probably partial)
- word to write out, and if it resides in the upper half, we
- have one full and one partial word left to write out.
-
- On entry to this basic block:
- t0 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word. */
-$u_eos:
- extqh t2, a1, t1 # U :
- or t0, t1, t1 # E : first (partial) source word complete (stall)
- cmpbge zero, t1, t10 # E : is the null in this first bit? (stall)
- bne t10, $u_final # U : (stall)
-
-$u_late_head_exit:
- stq_u t1, 0(a0) # L : the null was in the high-order bits
- addq a0, 8, a0 # E :
- extql t2, a1, t1 # U :
- cmpbge zero, t1, t10 # E : (stall)
-
- /* Take care of a final (probably partial) result word.
- On entry to this basic block:
- t1 == assembled source word
- t10 == cmpbge mask that found the null. */
-$u_final:
- negq t10, t6 # E : isolate low bit set
- and t6, t10, t8 # E : (stall)
- and t8, 0x80, t6 # E : avoid dest word load if we can (stall)
- bne t6, 1f # U : (stall)
-
- ldq_u t0, 0(a0) # E :
- subq t8, 1, t6 # E :
- or t6, t8, t10 # E : (stall)
- zapnot t1, t6, t1 # U : kill source bytes >= null (stall)
-
- zap t0, t10, t0 # U : kill dest bytes <= null (2 cycle data stall)
- or t0, t1, t1 # E : (stall)
- nop
- nop
-
-1: stq_u t1, 0(a0) # L :
- ret (t9) # L0 : Latency=3
- nop
- nop
-
- /* Unaligned copy entry point. */
- .align 4
-$unaligned:
-
- ldq_u t1, 0(a1) # L : load first source word
- and a0, 7, t4 # E : find dest misalignment
- and a1, 7, t5 # E : find src misalignment
- /* Conditionally load the first destination word and a bytemask
- with 0xff indicating that the destination byte is sacrosanct. */
- mov zero, t0 # E :
-
- mov zero, t6 # E :
- beq t4, 1f # U :
- ldq_u t0, 0(a0) # L :
- lda t6, -1 # E :
-
- mskql t6, a0, t6 # U :
- nop
- nop
- nop
-1:
- subq a1, t4, a1 # E : sub dest misalignment from src addr
- /* If source misalignment is larger than dest misalignment, we need
- extra startup checks to avoid SEGV. */
- cmplt t4, t5, t8 # E :
- beq t8, $u_head # U :
- lda t2, -1 # E : mask out leading garbage in source
-
- mskqh t2, t5, t2 # U :
- ornot t1, t2, t3 # E : (stall)
- cmpbge zero, t3, t10 # E : is there a zero? (stall)
- beq t10, $u_head # U : (stall)
-
- /* At this point we've found a zero in the first partial word of
- the source. We need to isolate the valid source data and mask
- it into the original destination data. (Incidentally, we know
- that we'll need at least one byte of that original dest word.) */
-
- ldq_u t0, 0(a0) # L :
- negq t10, t6 # E : build bitmask of bytes <= zero
- and t6, t10, t8 # E : (stall)
- and a1, 7, t5 # E :
-
- subq t8, 1, t6 # E :
- or t6, t8, t10 # E : (stall)
- srl t8, t5, t8 # U : adjust final null return value
- zapnot t2, t10, t2 # U : prepare source word; mirror changes (stall)
-
- and t1, t2, t1 # E : to source validity mask
- extql t2, a1, t2 # U :
- extql t1, a1, t1 # U : (stall)
- andnot t0, t2, t0 # .. e1 : zero place for source to reside (stall)
-
- or t0, t1, t1 # e1 : and put it there
- stq_u t1, 0(a0) # .. e0 : (stall)
- ret (t9) # e1 :
-
- cfi_endproc
diff --git a/ports/sysdeps/alpha/alphaev6/stxncpy.S b/ports/sysdeps/alpha/alphaev6/stxncpy.S
deleted file mode 100644
index 81522d5..0000000
--- a/ports/sysdeps/alpha/alphaev6/stxncpy.S
+++ /dev/null
@@ -1,392 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
- SRC to DST.
-
- This is an internal routine used by strncpy, stpncpy, and strncat.
- As such, it uses special linkage conventions to make implementation
- of these public functions more efficient.
-
- On input:
- t9 = return address
- a0 = DST
- a1 = SRC
- a2 = COUNT
-
- Furthermore, COUNT may not be zero.
-
- On output:
- t0 = last word written
- t8 = bitmask (with one bit set) indicating the last byte written
- t10 = bitmask (with one bit set) indicating the byte position of
- the end of the range specified by COUNT
- a0 = unaligned address of the last *word* written
- a2 = the number of full words left in COUNT
-
- Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-#include <sysdep.h>
-
- .arch ev6
- .set noat
- .set noreorder
-
- .text
- .type __stxncpy, @function
- .globl __stxncpy
- .usepv __stxncpy, no
-
- cfi_startproc
- cfi_return_column (t9)
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == the first source word. */
- .align 4
-stxncpy_aligned:
- /* Create the 1st output word and detect 0's in the 1st input word. */
- lda t2, -1 # E : build a mask against false zero
- mskqh t2, a1, t2 # U : detection in the src word (stall)
- mskqh t1, a1, t3 # U :
- ornot t1, t2, t2 # E : (stall)
-
- mskql t0, a1, t0 # U : assemble the first output word
- cmpbge zero, t2, t7 # E : bits set iff null found
- or t0, t3, t0 # E : (stall)
- beq a2, $a_eoc # U :
-
- bne t7, $a_eos # U :
- nop
- nop
- nop
-
- /* On entry to this basic block:
- t0 == a source word not containing a null. */
-
- /*
- * nops here to:
- * separate store quads from load quads
- * limit of 1 bcond/quad to permit training
- */
-$a_loop:
- stq_u t0, 0(a0) # L :
- addq a0, 8, a0 # E :
- subq a2, 1, a2 # E :
- nop
-
- ldq_u t0, 0(a1) # L :
- addq a1, 8, a1 # E :
- cmpbge zero, t0, t7 # E :
- beq a2, $a_eoc # U :
-
- beq t7, $a_loop # U :
- nop
- nop
- nop
-
- /* Take care of the final (partial) word store. At this point
- the end-of-count bit is set in t7 iff it applies.
-
- On entry to this basic block we have:
- t0 == the source word containing the null
- t7 == the cmpbge mask that found it. */
-$a_eos:
- negq t7, t8 # E : find low bit set
- and t7, t8, t8 # E : (stall)
- /* For the sake of the cache, don't read a destination word
- if we're not going to need it. */
- and t8, 0x80, t6 # E : (stall)
- bne t6, 1f # U : (stall)
-
- /* We're doing a partial word store and so need to combine
- our source and original destination words. */
- ldq_u t1, 0(a0) # L :
- subq t8, 1, t6 # E :
- or t8, t6, t7 # E : (stall)
- zapnot t0, t7, t0 # U : clear src bytes > null (stall)
-
- zap t1, t7, t1 # .. e1 : clear dst bytes <= null
- or t0, t1, t0 # e1 : (stall)
- nop
- nop
-
-1: stq_u t0, 0(a0) # L :
- ret (t9) # L0 : Latency=3
- nop
- nop
-
- /* Add the end-of-count bit to the eos detection bitmask. */
-$a_eoc:
- or t10, t7, t7 # E :
- br $a_eos # L0 : Latency=3
- nop
- nop
-
- .align 4
-__stxncpy:
- /* Are source and destination co-aligned? */
- lda t2, -1 # E :
- xor a0, a1, t1 # E :
- and a0, 7, t0 # E : find dest misalignment
- nop # E :
-
- srl t2, 1, t2 # U :
- and t1, 7, t1 # E :
- cmovlt a2, t2, a2 # E : bound count to LONG_MAX (stall)
- nop # E :
-
- addq a2, t0, a2 # E : bias count by dest misalignment
- subq a2, 1, a2 # E : (stall)
- and a2, 7, t2 # E : (stall)
- lda t10, 1 # E :
-
- srl a2, 3, a2 # U : a2 = loop counter = (count - 1)/8
- sll t10, t2, t10 # U : t10 = bitmask of last count byte
- nop # E :
- bne t1, $unaligned # U : (stall)
-
- /* We are co-aligned; take care of a partial first word. */
- ldq_u t1, 0(a1) # L : load first src word
- addq a1, 8, a1 # E :
- beq t0, stxncpy_aligned # U : avoid loading dest word if not needed
- ldq_u t0, 0(a0) # L :
-
- br stxncpy_aligned # U :
- nop
- nop
- nop
-
-
-
-/* The source and destination are not co-aligned. Align the destination
- and cope. We have to be very careful about not reading too much and
- causing a SEGV. */
-
- .align 4
-$u_head:
- /* We know just enough now to be able to assemble the first
- full source word. We can still find a zero at the end of it
- that prevents us from outputting the whole thing.
-
- On entry to this basic block:
- t0 == the first dest word, unmasked
- t1 == the shifted low bits of the first source word
- t6 == bytemask that is -1 in dest word bytes */
-
- ldq_u t2, 8(a1) # L : Latency=3 load second src word
- addq a1, 8, a1 # E :
- mskql t0, a0, t0 # U : mask trailing garbage in dst
- extqh t2, a1, t4 # U : (3 cycle stall on t2)
-
- or t1, t4, t1 # E : first aligned src word complete (stall)
- mskqh t1, a0, t1 # U : mask leading garbage in src (stall)
- or t0, t1, t0 # E : first output word complete (stall)
- or t0, t6, t6 # E : mask original data for zero test (stall)
-
- cmpbge zero, t6, t7 # E :
- beq a2, $u_eocfin # U :
- lda t6, -1 # E :
- nop
-
- bne t7, $u_final # U :
- mskql t6, a1, t6 # U : mask out bits already seen
- stq_u t0, 0(a0) # L : store first output word
- or t6, t2, t2 # E :
-
- cmpbge zero, t2, t7 # E : find nulls in second partial
- addq a0, 8, a0 # E :
- subq a2, 1, a2 # E :
- bne t7, $u_late_head_exit # U :
-
- /* Finally, we've got all the stupid leading edge cases taken care
- of and we can set up to enter the main loop. */
- extql t2, a1, t1 # U : position hi-bits of lo word
- beq a2, $u_eoc # U :
- ldq_u t2, 8(a1) # L : read next high-order source word
- addq a1, 8, a1 # E :
-
- extqh t2, a1, t0 # U : position lo-bits of hi word (stall)
- cmpbge zero, t2, t7 # E :
- nop
- bne t7, $u_eos # U :
-
- /* Unaligned copy main loop. In order to avoid reading too much,
- the loop is structured to detect zeros in aligned source words.
- This has, unfortunately, effectively pulled half of a loop
- iteration out into the head and half into the tail, but it does
- prevent nastiness from accumulating in the very thing we want
- to run as fast as possible.
-
- On entry to this basic block:
- t0 == the shifted low-order bits from the current source word
- t1 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word
-
- We further know that t2 does not contain a null terminator. */
-
- .align 4
-$u_loop:
- or t0, t1, t0 # E : current dst word now complete
- subq a2, 1, a2 # E : decrement word count
- extql t2, a1, t1 # U : extract high bits for next time
- addq a0, 8, a0 # E :
-
- stq_u t0, -8(a0) # L : save the current word
- beq a2, $u_eoc # U :
- ldq_u t2, 8(a1) # L : Latency=3 load high word for next time
- addq a1, 8, a1 # E :
-
- extqh t2, a1, t0 # U : extract low bits (2 cycle stall)
- cmpbge zero, t2, t7 # E : test new word for eos
- nop
- beq t7, $u_loop # U :
-
- /* We've found a zero somewhere in the source word we just read.
- If it resides in the lower half, we have one (probably partial)
- word to write out, and if it resides in the upper half, we
- have one full and one partial word left to write out.
-
- On entry to this basic block:
- t0 == the shifted low-order bits from the current source word
- t1 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word. */
-$u_eos:
- or t0, t1, t0 # E : first (partial) source word complete
- nop
- cmpbge zero, t0, t7 # E : is the null in this first bit? (stall)
- bne t7, $u_final # U : (stall)
-
- stq_u t0, 0(a0) # L : the null was in the high-order bits
- addq a0, 8, a0 # E :
- subq a2, 1, a2 # E :
- nop
-
-$u_late_head_exit:
- extql t2, a1, t0 # U :
- cmpbge zero, t0, t7 # E :
- or t7, t10, t6 # E : (stall)
- cmoveq a2, t6, t7 # E : Latency=2, extra map slot (stall)
-
- /* Take care of a final (probably partial) result word.
- On entry to this basic block:
- t0 == assembled source word
- t7 == cmpbge mask that found the null. */
-$u_final:
- negq t7, t6 # E : isolate low bit set
- and t6, t7, t8 # E : (stall)
- and t8, 0x80, t6 # E : avoid dest word load if we can (stall)
- bne t6, 1f # U : (stall)
-
- ldq_u t1, 0(a0) # L :
- subq t8, 1, t6 # E :
- or t6, t8, t7 # E : (stall)
- zapnot t0, t7, t0 # U : kill source bytes > null
-
- zap t1, t7, t1 # U : kill dest bytes <= null
- or t0, t1, t0 # E : (stall)
- nop
- nop
-
-1: stq_u t0, 0(a0) # L :
- ret (t9) # L0 : Latency=3
-
- /* Got to end-of-count before end of string.
- On entry to this basic block:
- t1 == the shifted high-order bits from the previous source word */
-$u_eoc:
- and a1, 7, t6 # E :
- sll t10, t6, t6 # U : (stall)
- and t6, 0xff, t6 # E : (stall)
- bne t6, 1f # U : (stall)
-
- ldq_u t2, 8(a1) # L : load final src word
- nop
- extqh t2, a1, t0 # U : extract low bits for last word (stall)
- or t1, t0, t1 # E : (stall)
-
-1: cmpbge zero, t1, t7 # E :
- mov t1, t0
-
-$u_eocfin: # end-of-count, final word
- or t10, t7, t7 # E :
- br $u_final # L0 : Latency=3
-
- /* Unaligned copy entry point. */
- .align 4
-$unaligned:
-
- ldq_u t1, 0(a1) # L : load first source word
- and a0, 7, t4 # E : find dest misalignment
- and a1, 7, t5 # E : find src misalignment
- /* Conditionally load the first destination word and a bytemask
- with 0xff indicating that the destination byte is sacrosanct. */
- mov zero, t0 # E :
-
- mov zero, t6 # E :
- beq t4, 1f # U :
- ldq_u t0, 0(a0) # L :
- lda t6, -1 # E :
-
- mskql t6, a0, t6 # U :
- nop
- nop
-1: subq a1, t4, a1 # E : sub dest misalignment from src addr
-
- /* If source misalignment is larger than dest misalignment, we need
- extra startup checks to avoid SEGV. */
-
- cmplt t4, t5, t8 # E :
- extql t1, a1, t1 # U : shift src into place
- lda t2, -1 # E : for creating masks later
- beq t8, $u_head # U : (stall)
-
- mskqh t2, t5, t2 # U : begin src byte validity mask
- cmpbge zero, t1, t7 # E : is there a zero?
- extql t2, a1, t2 # U :
- or t7, t10, t5 # E : test for end-of-count too
-
- cmpbge zero, t2, t3 # E :
- cmoveq a2, t5, t7 # E : Latency=2, extra map slot
- nop # E : keep with cmoveq
- andnot t7, t3, t7 # E : (stall)
-
- beq t7, $u_head # U :
- /* At this point we've found a zero in the first partial word of
- the source. We need to isolate the valid source data and mask
- it into the original destination data. (Incidentally, we know
- that we'll need at least one byte of that original dest word.) */
- ldq_u t0, 0(a0) # L :
- negq t7, t6 # E : build bitmask of bytes <= zero
- mskqh t1, t4, t1 # U :
-
- and t6, t7, t8 # E :
- subq t8, 1, t6 # E : (stall)
- or t6, t8, t7 # E : (stall)
- zapnot t2, t7, t2 # U : prepare source word; mirror changes (stall)
-
- zapnot t1, t7, t1 # U : to source validity mask
- andnot t0, t2, t0 # E : zero place for source to reside
- or t0, t1, t0 # E : and put it there (stall both t0, t1)
- stq_u t0, 0(a0) # L : (stall)
-
- ret (t9) # L0 : Latency=3
-
- cfi_endproc
diff --git a/ports/sysdeps/alpha/alphaev67/Implies b/ports/sysdeps/alpha/alphaev67/Implies
deleted file mode 100644
index 49d19c4..0000000
--- a/ports/sysdeps/alpha/alphaev67/Implies
+++ /dev/null
@@ -1 +0,0 @@
-alpha/alphaev6
diff --git a/ports/sysdeps/alpha/alphaev67/ffs.S b/ports/sysdeps/alpha/alphaev67/ffs.S
deleted file mode 100644
index 7033b2a..0000000
--- a/ports/sysdeps/alpha/alphaev67/ffs.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Finds the first bit set in an integer. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-
-ENTRY(__ffs)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- zap $16, 0xF0, $16
- cttz $16, $0
- addq $0, 1, $0
- cmoveq $16, 0, $0
-
- nop
- nop
- nop
- ret
-
-END(__ffs)
-
-weak_alias (__ffs, ffs)
-libc_hidden_def (__ffs)
-libc_hidden_builtin_def (ffs)
diff --git a/ports/sysdeps/alpha/alphaev67/ffsll.S b/ports/sysdeps/alpha/alphaev67/ffsll.S
deleted file mode 100644
index d599f7a..0000000
--- a/ports/sysdeps/alpha/alphaev67/ffsll.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Finds the first bit set in a long. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(ffsl)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- cttz $16, $0
- addq $0, 1, $0
- cmoveq $16, 0, $0
- ret
-
-END(ffsl)
-
-weak_extern (ffsl)
-weak_alias (ffsl, ffsll)
diff --git a/ports/sysdeps/alpha/alphaev67/fpu/Implies b/ports/sysdeps/alpha/alphaev67/fpu/Implies
deleted file mode 100644
index 9e3f12d..0000000
--- a/ports/sysdeps/alpha/alphaev67/fpu/Implies
+++ /dev/null
@@ -1 +0,0 @@
-alpha/alphaev6/fpu
diff --git a/ports/sysdeps/alpha/alphaev67/rawmemchr.S b/ports/sysdeps/alpha/alphaev67/rawmemchr.S
deleted file mode 100644
index 7e3c02c..0000000
--- a/ports/sysdeps/alpha/alphaev67/rawmemchr.S
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Return pointer to first occurrence of CH in STR. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(__rawmemchr)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- ldq_u t0, 0(a0) # L : load first quadword Latency=3
- and a1, 0xff, t3 # E : 00000000000000ch
- insbl a1, 1, t5 # U : 000000000000ch00
- insbl a1, 7, a2 # U : ch00000000000000
-
- insbl t3, 6, a3 # U : 00ch000000000000
- or t5, t3, a1 # E : 000000000000chch
- andnot a0, 7, v0 # E : align our loop pointer
- lda t4, -1 # E : build garbage mask
-
- mskqh t4, a0, t4 # U : only want relevant part of first quad
- or a2, a3, a2 # E : chch000000000000
- inswl a1, 2, t5 # E : 00000000chch0000
- inswl a1, 4, a3 # E : 0000chch00000000
-
- or a1, a2, a1 # E : chch00000000chch
- or a3, t5, t5 # E : 0000chchchch0000
- cmpbge zero, t4, t4 # E : bits set iff byte is garbage
- nop # E :
-
- /* This quad is _very_ serialized. Lots of stalling happens */
- or t5, a1, a1 # E : chchchchchchchch
- xor t0, a1, t1 # E : make bytes == c zero
- cmpbge zero, t1, t0 # E : bits set iff byte == c
- andnot t0, t4, t0 # E : clear garbage bits
-
- cttz t0, a2 # U0 : speculative (in case we get a match)
- nop # E :
- nop # E :
- bne t0, $found # U :
-
- /*
- * Yuk. This loop is going to stall like crazy waiting for the
- * data to be loaded. Not much can be done about it unless it's
- * unrolled multiple times, which is generally unsafe.
- */
-$loop:
- ldq t0, 8(v0) # L : Latency=3
- addq v0, 8, v0 # E :
- xor t0, a1, t1 # E :
- cmpbge zero, t1, t0 # E : bits set iff byte == c
-
- cttz t0, a2 # U0 : speculative (in case we get a match)
- nop # E :
- nop # E :
- beq t0, $loop # U :
-
-$found:
- negq t0, t1 # E : clear all but least set bit
- and t0, t1, t0 # E :
- addq v0, a2, v0 # E : Add in the bit number from above
- ret # L0 :
-
- END(__rawmemchr)
-
-libc_hidden_def (__rawmemchr)
-weak_alias (__rawmemchr, rawmemchr)
diff --git a/ports/sysdeps/alpha/alphaev67/stpcpy.S b/ports/sysdeps/alpha/alphaev67/stpcpy.S
deleted file mode 100644
index a11bbec..0000000
--- a/ports/sysdeps/alpha/alphaev67/stpcpy.S
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@redhat.com>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy SRC to DEST returning the address of the terminating 0 in DEST. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
- .text
-
-ENTRY(__stpcpy)
- ldgp gp, 0(pv)
-#ifdef PROF
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
- .prologue 1
-
- .align 4
- mov a0, v0
- nop
- jsr t9, __stxcpy
-
- # t8 = bitmask (with one bit set) indicating the last byte written
- # a0 = unaligned address of the last *word* written
-
- cttz t8, t8
- andnot a0, 7, a0
- addq a0, t8, v0
- ret
-
- END(__stpcpy)
-
-weak_alias (__stpcpy, stpcpy)
-libc_hidden_def (__stpcpy)
-libc_hidden_builtin_def (stpcpy)
diff --git a/ports/sysdeps/alpha/alphaev67/stpncpy.S b/ports/sysdeps/alpha/alphaev67/stpncpy.S
deleted file mode 100644
index 451b2e0..0000000
--- a/ports/sysdeps/alpha/alphaev67/stpncpy.S
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@redhat.com)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy no more than N bytes from SRC to DEST, returning the address of
- the terminating '\0' in DEST. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noat
- .set noreorder
- .text
-
-ENTRY(__stpncpy)
- ldgp gp, 0(pv)
-#ifdef PROF
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
- .prologue 1
-
- mov a0, v0
- beq a2, $zerocount
-
- .align 4
- nop
- nop
- jsr t9, __stxncpy # do the work of the copy
-
- cttz t8, t4
- zapnot t0, t8, t5
- andnot a0, 7, a0
- bne a2, $multiword # do we have full words left?
-
- subq t8, 1, t2
- subq t10, 1, t3
- cmpult zero, t5, t5
- addq a0, t4, v0
-
- or t2, t8, t2
- or t3, t10, t3
- addq v0, t5, v0
- andnot t3, t2, t3
-
- zap t0, t3, t0
- nop
- stq t0, 0(a0)
- ret
-
-$multiword:
- subq t8, 1, t7 # clear the final bits in the prev word
- cmpult zero, t5, t5
- or t7, t8, t7
- zapnot t0, t7, t0
-
- subq a2, 1, a2
- stq t0, 0(a0)
- addq a0, 8, a1
- beq a2, 1f # loop over full words remaining
-
- nop
- nop
- nop
- blbc a2, 0f
-
- stq zero, 0(a1)
- subq a2, 1, a2
- addq a1, 8, a1
- beq a2, 1f
-
-0: stq zero, 0(a1)
- subq a2, 2, a2
- nop
- nop
-
- stq zero, 8(a1)
- addq a1, 16, a1
- nop
- bne a2, 0b
-
-1: ldq t0, 0(a1) # clear the leading bits in the final word
- subq t10, 1, t7
- addq a0, t4, v0
- nop
-
- or t7, t10, t7
- addq v0, t5, v0
- zap t0, t7, t0
- stq t0, 0(a1)
-
-$zerocount:
- nop
- nop
- nop
- ret
-
- END(__stpncpy)
-
-libc_hidden_def (__stpncpy)
-weak_alias (__stpncpy, stpncpy)
diff --git a/ports/sysdeps/alpha/alphaev67/strcat.S b/ports/sysdeps/alpha/alphaev67/strcat.S
deleted file mode 100644
index 914720c..0000000
--- a/ports/sysdeps/alpha/alphaev67/strcat.S
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
- EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Append a null-terminated string from SRC to DST. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .text
-
-ENTRY(strcat)
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- mov $16, $0 # E : set up return value
- /* Find the end of the string. */
- ldq_u $1, 0($16) # L : load first quadword (a0 may be misaligned)
- lda $2, -1 # E :
- insqh $2, $16, $2 # U :
-
- andnot $16, 7, $16 # E :
- or $2, $1, $1 # E :
- cmpbge $31, $1, $2 # E : bits set iff byte == 0
- bne $2, $found # U :
-
-$loop: ldq $1, 8($16) # L :
- addq $16, 8, $16 # E :
- cmpbge $31, $1, $2 # E :
- beq $2, $loop # U :
-
-$found: cttz $2, $3 # U0 :
- addq $16, $3, $16 # E :
- /* Now do the append. */
- mov $26, $23 # E :
- jmp $31, __stxcpy # L0 :
-
- END(strcat)
-libc_hidden_builtin_def (strcat)
diff --git a/ports/sysdeps/alpha/alphaev67/strchr.S b/ports/sysdeps/alpha/alphaev67/strchr.S
deleted file mode 100644
index 328f8ec..0000000
--- a/ports/sysdeps/alpha/alphaev67/strchr.S
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
- EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Return the address of a given character within a null-terminated
- string, or null if it is not found. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(strchr)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- ldq_u t0, 0(a0) # L : load first quadword Latency=3
- and a1, 0xff, t3 # E : 00000000000000ch
- insbl a1, 1, t5 # U : 000000000000ch00
- insbl a1, 7, a2 # U : ch00000000000000
-
- insbl t3, 6, a3 # U : 00ch000000000000
- or t5, t3, a1 # E : 000000000000chch
- andnot a0, 7, v0 # E : align our loop pointer
- lda t4, -1 # E : build garbage mask
-
- mskqh t4, a0, t4 # U : only want relevant part of first quad
- or a2, a3, a2 # E : chch000000000000
- inswl a1, 2, t5 # E : 00000000chch0000
- inswl a1, 4, a3 # E : 0000chch00000000
-
- or a1, a2, a1 # E : chch00000000chch
- or a3, t5, t5 # E : 0000chchchch0000
- cmpbge zero, t0, t2 # E : bits set iff byte == zero
- cmpbge zero, t4, t4 # E : bits set iff byte is garbage
-
- /* This quad is _very_ serialized. Lots of stalling happens */
- or t5, a1, a1 # E : chchchchchchchch
- xor t0, a1, t1 # E : make bytes == c zero
- cmpbge zero, t1, t3 # E : bits set iff byte == c
- or t2, t3, t0 # E : bits set iff char match or zero match
-
- andnot t0, t4, t0 # E : clear garbage bits
- cttz t0, a2 # U0 : speculative (in case we get a match)
- nop # E :
- bne t0, $found # U :
-
- /*
- * Yuk. This loop is going to stall like crazy waiting for the
- * data to be loaded. Not much can be done about it unless it's
- * unrolled multiple times, which is generally unsafe.
- */
-$loop:
- ldq t0, 8(v0) # L : Latency=3
- addq v0, 8, v0 # E :
- xor t0, a1, t1 # E :
- cmpbge zero, t0, t2 # E : bits set iff byte == 0
-
- cmpbge zero, t1, t3 # E : bits set iff byte == c
- or t2, t3, t0 # E :
- cttz t3, a2 # U0 : speculative (in case we get a match)
- beq t0, $loop # U :
-
-$found:
- negq t0, t1 # E : clear all but least set bit
- and t0, t1, t0 # E :
- and t0, t3, t1 # E : bit set iff byte was the char
- addq v0, a2, v0 # E : Add in the bit number from above
-
- cmoveq t1, $31, v0 # E : Two mapping slots, latency = 2
- nop
- nop
- ret # L0 :
-
- END(strchr)
-
-weak_alias (strchr, index)
-libc_hidden_builtin_def (strchr)
diff --git a/ports/sysdeps/alpha/alphaev67/strlen.S b/ports/sysdeps/alpha/alphaev67/strlen.S
deleted file mode 100644
index 22ab1bf..0000000
--- a/ports/sysdeps/alpha/alphaev67/strlen.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
- EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Finds length of a 0-terminated string. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(strlen)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- ldq_u $1, 0($16) # L : load first quadword ($16 may be misaligned)
- lda $2, -1($31) # E :
- insqh $2, $16, $2 # U :
- andnot $16, 7, $0 # E :
-
- or $2, $1, $1 # E :
- cmpbge $31, $1, $2 # E : $2 <- bitmask: bit i == 1 <==> i-th byte == 0
- nop # E :
- bne $2, $found # U :
-
-$loop: ldq $1, 8($0) # L :
- addq $0, 8, $0 # E : addr += 8
- cmpbge $31, $1, $2 # E :
- beq $2, $loop # U :
-
-$found:
- cttz $2, $3 # U0 :
- addq $0, $3, $0 # E :
- subq $0, $16, $0 # E :
- ret $31, ($26) # L0 :
-
- END(strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/ports/sysdeps/alpha/alphaev67/strncat.S b/ports/sysdeps/alpha/alphaev67/strncat.S
deleted file mode 100644
index 36b8721..0000000
--- a/ports/sysdeps/alpha/alphaev67/strncat.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
- EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Append no more than COUNT characters from the null-terminated string SRC
- to the null-terminated string DST. Always null-terminate the new DST. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .text
-
-ENTRY(strncat)
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- mov a0, v0 # set up return value
- beq a2, $zerocount # U :
- /* Find the end of the string. */
- ldq_u t0, 0(a0) # L : load first quadword (a0 may be misaligned)
- lda t1, -1 # E :
-
- insqh t1, v0, t1 # U :
- andnot a0, 7, a0 # E :
- nop # E :
- or t1, t0, t0 # E :
-
- nop # E :
- nop # E :
- cmpbge zero, t0, t1 # E : bits set iff byte == 0
- bne t1, $found # U :
-
-$loop: ldq t0, 8(a0) # L :
- addq a0, 8, a0 # E :
- cmpbge zero, t0, t1 # E :
- beq t1, $loop # U :
-
-$found: cttz t1, t2 # U0 :
- addq a0, t2, a0 # E :
- jsr t9, __stxncpy # L0 : Now do the append.
-
- /* Worry about the null termination. */
-
- cttz t10, t2 # U0: byte offset of end-of-count.
- bic a0, 7, a0 # E : word align the last write address.
- zapnot t0, t8, t1 # U : was last byte a null?
- nop # E :
-
- bne t1, 0f # U :
- nop # E :
- nop # E :
- ret # L0 :
-
-0: addq t2, a0, a0 # E : address of end-of-count
- stb zero, 1(a0) # L :
- nop # E :
- ret # L0 :
-
-$zerocount:
- nop # E :
- nop # E :
- nop # E :
- ret # L0 :
-
- END(strncat)
diff --git a/ports/sysdeps/alpha/alphaev67/strrchr.S b/ports/sysdeps/alpha/alphaev67/strrchr.S
deleted file mode 100644
index 0c0c90d..0000000
--- a/ports/sysdeps/alpha/alphaev67/strrchr.S
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Return the address of the last occurrence of a given character
- within a null-terminated string, or null if it is not found. */
-
-#include <sysdep.h>
-
- .arch ev6
- .set noreorder
- .set noat
-
-ENTRY(strrchr)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- and a1, 0xff, t2 # E : 00000000000000ch
- insbl a1, 1, t4 # U : 000000000000ch00
- insbl a1, 2, t5 # U : 0000000000ch0000
- ldq_u t0, 0(a0) # L : load first quadword Latency=3
-
- mov zero, t6 # E : t6 is last match aligned addr
- or t2, t4, a1 # E : 000000000000chch
- sll t5, 8, t3 # U : 00000000ch000000
- mov zero, t8 # E : t8 is last match byte compare mask
-
- andnot a0, 7, v0 # E : align source addr
- or t5, t3, t3 # E : 00000000chch0000
- sll a1, 32, t2 # U : 0000chch00000000
- sll a1, 48, t4 # U : chch000000000000
-
- or t4, a1, a1 # E : chch00000000chch
- or t2, t3, t2 # E : 0000chchchch0000
- or a1, t2, a1 # E : chchchchchchchch
- lda t5, -1 # E : build garbage mask
-
- cmpbge zero, t0, t1 # E : bits set iff byte == zero
- mskqh t5, a0, t4 # E : Complete garbage mask
- xor t0, a1, t2 # E : make bytes == c zero
- cmpbge zero, t4, t4 # E : bits set iff byte is garbage
-
- cmpbge zero, t2, t3 # E : bits set iff byte == c
- andnot t1, t4, t1 # E : clear garbage from null test
- andnot t3, t4, t3 # E : clear garbage from char test
- bne t1, $eos # U : did we already hit the terminator?
-
- /* Character search main loop */
-$loop:
- ldq t0, 8(v0) # L : load next quadword
- cmovne t3, v0, t6 # E : save previous comparisons match
- nop # : Latency=2, extra map slot (keep nop with cmov)
- nop
-
- cmovne t3, t3, t8 # E : Latency=2, extra map slot
- nop # : keep with cmovne
- addq v0, 8, v0 # E :
- xor t0, a1, t2 # E :
-
- cmpbge zero, t0, t1 # E : bits set iff byte == zero
- cmpbge zero, t2, t3 # E : bits set iff byte == c
- beq t1, $loop # U : if we havnt seen a null, loop
- nop
-
- /* Mask out character matches after terminator */
-$eos:
- negq t1, t4 # E : isolate first null byte match
- and t1, t4, t4 # E :
- subq t4, 1, t5 # E : build a mask of the bytes upto...
- or t4, t5, t4 # E : ... and including the null
-
- and t3, t4, t3 # E : mask out char matches after null
- cmovne t3, t3, t8 # E : save it, if match found Latency=2, extra map slot
- nop # : Keep with cmovne
- nop
-
- cmovne t3, v0, t6 # E :
- nop # : Keep with cmovne
- /* Locate the address of the last matched character */
- ctlz t8, t2 # U0 : Latency=3 (0x40 for t8=0)
- nop
-
- cmoveq t8, 0x3f, t2 # E : Compensate for case when no match is seen
- nop # E : hide the cmov latency (2) behind ctlz latency
- lda t5, 0x3f($31) # E :
- subq t5, t2, t5 # E : Normalize leading zero count
-
- addq t6, t5, v0 # E : and add to quadword address
- ret # L0 : Latency=3
- nop
- nop
-
-END(strrchr)
-
-weak_alias (strrchr, rindex)
-libc_hidden_builtin_def (strrchr)
diff --git a/ports/sysdeps/alpha/backtrace.c b/ports/sysdeps/alpha/backtrace.c
deleted file mode 100644
index 27ce597..0000000
--- a/ports/sysdeps/alpha/backtrace.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/x86_64/backtrace.c>
diff --git a/ports/sysdeps/alpha/bb_init_func.S b/ports/sysdeps/alpha/bb_init_func.S
deleted file mode 100644
index 77a05b0..0000000
--- a/ports/sysdeps/alpha/bb_init_func.S
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* __bb_init_func is invoked at the beginning of each function, before
- any registers have been saved. It is therefore safe to use any
- caller-saved (call-used) registers (except for argument registers
- a1-a5). */
-
-#include <sysdep.h>
-
-/*
- * These offsets should match with "struct bb" declared in gcc/libgcc2.c.
- */
-#define ZERO_WORD 0x00
-#define NEXT 0x20
-
- .set noat
- .set noreorder
-
-ENTRY(__bb_init_func)
- .prologue 0
-
- ldq t0, ZERO_WORD(a0) /* t0 <- blocks->zero_word */
- beq t0, init /* not initialized yet -> */
- ret
-
-END(__bb_init_func)
-
- .ent init
-init:
- .frame sp, 0x38, ra, 0
- subq sp, 0x38, sp
- .prologue 0
-
- stq pv, 0x30(sp)
- br pv, 1f
-1: ldgp gp, 0(pv)
-
- ldiq t1, __bb_head
- lda t3, _gmonparam
- ldq t2, 0(t1)
- ldl t3, 0(t3) /* t3 = _gmonparam.state */
- lda t0, 1
- stq t0, ZERO_WORD(a0) /* blocks->zero_word = 1 */
- stq t2, NEXT(a0) /* blocks->next = __bb_head */
- stq a0, 0(t1)
- bne t2, $leave
- beq t3, $leave /* t3 == GMON_PROF_ON? yes -> */
-
- /* also need to initialize destructor: */
- stq ra, 0x00(sp)
- lda a0, __bb_exit_func
- stq a1, 0x08(sp)
- lda pv, atexit
- stq a2, 0x10(sp)
- stq a3, 0x18(sp)
- stq a4, 0x20(sp)
- stq a5, 0x28(sp)
- jsr ra, (pv), atexit
- ldq ra, 0x00(sp)
- ldq a1, 0x08(sp)
- ldq a2, 0x10(sp)
- ldq a3, 0x18(sp)
- ldq a4, 0x20(sp)
- ldq a5, 0x28(sp)
-
-$leave: ldq pv, 0x30(sp)
- addq sp, 0x38, sp
- ret
-
- .end init
diff --git a/ports/sysdeps/alpha/bits/atomic.h b/ports/sysdeps/alpha/bits/atomic.h
deleted file mode 100644
index abbbc7c..0000000
--- a/ports/sysdeps/alpha/bits/atomic.h
+++ /dev/null
@@ -1,368 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdint.h>
-
-typedef int8_t atomic8_t;
-typedef uint8_t uatomic8_t;
-typedef int_fast8_t atomic_fast8_t;
-typedef uint_fast8_t uatomic_fast8_t;
-
-typedef int16_t atomic16_t;
-typedef uint16_t uatomic16_t;
-typedef int_fast16_t atomic_fast16_t;
-typedef uint_fast16_t uatomic_fast16_t;
-
-typedef int32_t atomic32_t;
-typedef uint32_t uatomic32_t;
-typedef int_fast32_t atomic_fast32_t;
-typedef uint_fast32_t uatomic_fast32_t;
-
-typedef int64_t atomic64_t;
-typedef uint64_t uatomic64_t;
-typedef int_fast64_t atomic_fast64_t;
-typedef uint_fast64_t uatomic_fast64_t;
-
-typedef intptr_t atomicptr_t;
-typedef uintptr_t uatomicptr_t;
-typedef intmax_t atomic_max_t;
-typedef uintmax_t uatomic_max_t;
-
-
-#ifdef UP
-# define __MB /* nothing */
-#else
-# define __MB " mb\n"
-#endif
-
-
-/* Compare and exchange. For all of the "xxx" routines, we expect a
- "__prev" and a "__cmp" variable to be provided by the enclosing scope,
- in which values are returned. */
-
-#define __arch_compare_and_exchange_xxx_8_int(mem, new, old, mb1, mb2) \
-({ \
- unsigned long __tmp, __snew, __addr64; \
- __asm__ __volatile__ ( \
- mb1 \
- " andnot %[__addr8],7,%[__addr64]\n" \
- " insbl %[__new],%[__addr8],%[__snew]\n" \
- "1: ldq_l %[__tmp],0(%[__addr64])\n" \
- " extbl %[__tmp],%[__addr8],%[__prev]\n" \
- " cmpeq %[__prev],%[__old],%[__cmp]\n" \
- " beq %[__cmp],2f\n" \
- " mskbl %[__tmp],%[__addr8],%[__tmp]\n" \
- " or %[__snew],%[__tmp],%[__tmp]\n" \
- " stq_c %[__tmp],0(%[__addr64])\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- "2:" \
- : [__prev] "=&r" (__prev), \
- [__snew] "=&r" (__snew), \
- [__tmp] "=&r" (__tmp), \
- [__cmp] "=&r" (__cmp), \
- [__addr64] "=&r" (__addr64) \
- : [__addr8] "r" (mem), \
- [__old] "Ir" ((uint64_t)(uint8_t)(uint64_t)(old)), \
- [__new] "r" (new) \
- : "memory"); \
-})
-
-#define __arch_compare_and_exchange_xxx_16_int(mem, new, old, mb1, mb2) \
-({ \
- unsigned long __tmp, __snew, __addr64; \
- __asm__ __volatile__ ( \
- mb1 \
- " andnot %[__addr16],7,%[__addr64]\n" \
- " inswl %[__new],%[__addr16],%[__snew]\n" \
- "1: ldq_l %[__tmp],0(%[__addr64])\n" \
- " extwl %[__tmp],%[__addr16],%[__prev]\n" \
- " cmpeq %[__prev],%[__old],%[__cmp]\n" \
- " beq %[__cmp],2f\n" \
- " mskwl %[__tmp],%[__addr16],%[__tmp]\n" \
- " or %[__snew],%[__tmp],%[__tmp]\n" \
- " stq_c %[__tmp],0(%[__addr64])\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- "2:" \
- : [__prev] "=&r" (__prev), \
- [__snew] "=&r" (__snew), \
- [__tmp] "=&r" (__tmp), \
- [__cmp] "=&r" (__cmp), \
- [__addr64] "=&r" (__addr64) \
- : [__addr16] "r" (mem), \
- [__old] "Ir" ((uint64_t)(uint16_t)(uint64_t)(old)), \
- [__new] "r" (new) \
- : "memory"); \
-})
-
-#define __arch_compare_and_exchange_xxx_32_int(mem, new, old, mb1, mb2) \
-({ \
- __asm__ __volatile__ ( \
- mb1 \
- "1: ldl_l %[__prev],%[__mem]\n" \
- " cmpeq %[__prev],%[__old],%[__cmp]\n" \
- " beq %[__cmp],2f\n" \
- " mov %[__new],%[__cmp]\n" \
- " stl_c %[__cmp],%[__mem]\n" \
- " beq %[__cmp],1b\n" \
- mb2 \
- "2:" \
- : [__prev] "=&r" (__prev), \
- [__cmp] "=&r" (__cmp) \
- : [__mem] "m" (*(mem)), \
- [__old] "Ir" ((uint64_t)(atomic32_t)(uint64_t)(old)), \
- [__new] "Ir" (new) \
- : "memory"); \
-})
-
-#define __arch_compare_and_exchange_xxx_64_int(mem, new, old, mb1, mb2) \
-({ \
- __asm__ __volatile__ ( \
- mb1 \
- "1: ldq_l %[__prev],%[__mem]\n" \
- " cmpeq %[__prev],%[__old],%[__cmp]\n" \
- " beq %[__cmp],2f\n" \
- " mov %[__new],%[__cmp]\n" \
- " stq_c %[__cmp],%[__mem]\n" \
- " beq %[__cmp],1b\n" \
- mb2 \
- "2:" \
- : [__prev] "=&r" (__prev), \
- [__cmp] "=&r" (__cmp) \
- : [__mem] "m" (*(mem)), \
- [__old] "Ir" ((uint64_t)(old)), \
- [__new] "Ir" (new) \
- : "memory"); \
-})
-
-/* For all "bool" routines, we return FALSE if exchange succesful. */
-
-#define __arch_compare_and_exchange_bool_8_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_8_int(mem, new, old, mb1, mb2); \
- !__cmp; })
-
-#define __arch_compare_and_exchange_bool_16_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_16_int(mem, new, old, mb1, mb2); \
- !__cmp; })
-
-#define __arch_compare_and_exchange_bool_32_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_32_int(mem, new, old, mb1, mb2); \
- !__cmp; })
-
-#define __arch_compare_and_exchange_bool_64_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_64_int(mem, new, old, mb1, mb2); \
- !__cmp; })
-
-/* For all "val" routines, return the old value whether exchange
- successful or not. */
-
-#define __arch_compare_and_exchange_val_8_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_8_int(mem, new, old, mb1, mb2); \
- (typeof (*mem))__prev; })
-
-#define __arch_compare_and_exchange_val_16_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_16_int(mem, new, old, mb1, mb2); \
- (typeof (*mem))__prev; })
-
-#define __arch_compare_and_exchange_val_32_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_32_int(mem, new, old, mb1, mb2); \
- (typeof (*mem))__prev; })
-
-#define __arch_compare_and_exchange_val_64_int(mem, new, old, mb1, mb2) \
-({ unsigned long __prev; int __cmp; \
- __arch_compare_and_exchange_xxx_64_int(mem, new, old, mb1, mb2); \
- (typeof (*mem))__prev; })
-
-/* Compare and exchange with "acquire" semantics, ie barrier after. */
-
-#define atomic_compare_and_exchange_bool_acq(mem, new, old) \
- __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \
- mem, new, old, "", __MB)
-
-#define atomic_compare_and_exchange_val_acq(mem, new, old) \
- __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
- mem, new, old, "", __MB)
-
-/* Compare and exchange with "release" semantics, ie barrier before. */
-
-#define atomic_compare_and_exchange_bool_rel(mem, new, old) \
- __atomic_bool_bysize (__arch_compare_and_exchange_bool, int, \
- mem, new, old, __MB, "")
-
-#define atomic_compare_and_exchange_val_rel(mem, new, old) \
- __atomic_val_bysize (__arch_compare_and_exchange_val, int, \
- mem, new, old, __MB, "")
-
-
-/* Atomically store value and return the previous value. */
-
-#define __arch_exchange_8_int(mem, value, mb1, mb2) \
-({ \
- unsigned long __tmp, __addr64, __sval; __typeof(*mem) __ret; \
- __asm__ __volatile__ ( \
- mb1 \
- " andnot %[__addr8],7,%[__addr64]\n" \
- " insbl %[__value],%[__addr8],%[__sval]\n" \
- "1: ldq_l %[__tmp],0(%[__addr64])\n" \
- " extbl %[__tmp],%[__addr8],%[__ret]\n" \
- " mskbl %[__tmp],%[__addr8],%[__tmp]\n" \
- " or %[__sval],%[__tmp],%[__tmp]\n" \
- " stq_c %[__tmp],0(%[__addr64])\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- : [__ret] "=&r" (__ret), \
- [__sval] "=&r" (__sval), \
- [__tmp] "=&r" (__tmp), \
- [__addr64] "=&r" (__addr64) \
- : [__addr8] "r" (mem), \
- [__value] "r" (value) \
- : "memory"); \
- __ret; })
-
-#define __arch_exchange_16_int(mem, value, mb1, mb2) \
-({ \
- unsigned long __tmp, __addr64, __sval; __typeof(*mem) __ret; \
- __asm__ __volatile__ ( \
- mb1 \
- " andnot %[__addr16],7,%[__addr64]\n" \
- " inswl %[__value],%[__addr16],%[__sval]\n" \
- "1: ldq_l %[__tmp],0(%[__addr64])\n" \
- " extwl %[__tmp],%[__addr16],%[__ret]\n" \
- " mskwl %[__tmp],%[__addr16],%[__tmp]\n" \
- " or %[__sval],%[__tmp],%[__tmp]\n" \
- " stq_c %[__tmp],0(%[__addr64])\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- : [__ret] "=&r" (__ret), \
- [__sval] "=&r" (__sval), \
- [__tmp] "=&r" (__tmp), \
- [__addr64] "=&r" (__addr64) \
- : [__addr16] "r" (mem), \
- [__value] "r" (value) \
- : "memory"); \
- __ret; })
-
-#define __arch_exchange_32_int(mem, value, mb1, mb2) \
-({ \
- signed int __tmp; __typeof(*mem) __ret; \
- __asm__ __volatile__ ( \
- mb1 \
- "1: ldl_l %[__ret],%[__mem]\n" \
- " mov %[__val],%[__tmp]\n" \
- " stl_c %[__tmp],%[__mem]\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- : [__ret] "=&r" (__ret), \
- [__tmp] "=&r" (__tmp) \
- : [__mem] "m" (*(mem)), \
- [__val] "Ir" (value) \
- : "memory"); \
- __ret; })
-
-#define __arch_exchange_64_int(mem, value, mb1, mb2) \
-({ \
- unsigned long __tmp; __typeof(*mem) __ret; \
- __asm__ __volatile__ ( \
- mb1 \
- "1: ldq_l %[__ret],%[__mem]\n" \
- " mov %[__val],%[__tmp]\n" \
- " stq_c %[__tmp],%[__mem]\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- : [__ret] "=&r" (__ret), \
- [__tmp] "=&r" (__tmp) \
- : [__mem] "m" (*(mem)), \
- [__val] "Ir" (value) \
- : "memory"); \
- __ret; })
-
-#define atomic_exchange_acq(mem, value) \
- __atomic_val_bysize (__arch_exchange, int, mem, value, "", __MB)
-
-#define atomic_exchange_rel(mem, value) \
- __atomic_val_bysize (__arch_exchange, int, mem, value, __MB, "")
-
-
-/* Atomically add value and return the previous (unincremented) value. */
-
-#define __arch_exchange_and_add_8_int(mem, value, mb1, mb2) \
- ({ __builtin_trap (); 0; })
-
-#define __arch_exchange_and_add_16_int(mem, value, mb1, mb2) \
- ({ __builtin_trap (); 0; })
-
-#define __arch_exchange_and_add_32_int(mem, value, mb1, mb2) \
-({ \
- signed int __tmp; __typeof(*mem) __ret; \
- __asm__ __volatile__ ( \
- mb1 \
- "1: ldl_l %[__ret],%[__mem]\n" \
- " addl %[__ret],%[__val],%[__tmp]\n" \
- " stl_c %[__tmp],%[__mem]\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- : [__ret] "=&r" (__ret), \
- [__tmp] "=&r" (__tmp) \
- : [__mem] "m" (*(mem)), \
- [__val] "Ir" ((signed int)(value)) \
- : "memory"); \
- __ret; })
-
-#define __arch_exchange_and_add_64_int(mem, value, mb1, mb2) \
-({ \
- unsigned long __tmp; __typeof(*mem) __ret; \
- __asm__ __volatile__ ( \
- mb1 \
- "1: ldq_l %[__ret],%[__mem]\n" \
- " addq %[__ret],%[__val],%[__tmp]\n" \
- " stq_c %[__tmp],%[__mem]\n" \
- " beq %[__tmp],1b\n" \
- mb2 \
- : [__ret] "=&r" (__ret), \
- [__tmp] "=&r" (__tmp) \
- : [__mem] "m" (*(mem)), \
- [__val] "Ir" ((unsigned long)(value)) \
- : "memory"); \
- __ret; })
-
-/* ??? Barrier semantics for atomic_exchange_and_add appear to be
- undefined. Use full barrier for now, as that's safe. */
-#define atomic_exchange_and_add(mem, value) \
- __atomic_val_bysize (__arch_exchange_and_add, int, mem, value, __MB, __MB)
-
-
-/* ??? Blah, I'm lazy. Implement these later. Can do better than the
- compare-and-exchange loop provided by generic code.
-
-#define atomic_decrement_if_positive(mem)
-#define atomic_bit_test_set(mem, bit)
-
-*/
-
-#ifndef UP
-# define atomic_full_barrier() __asm ("mb" : : : "memory");
-# define atomic_read_barrier() __asm ("mb" : : : "memory");
-# define atomic_write_barrier() __asm ("wmb" : : : "memory");
-#endif
diff --git a/ports/sysdeps/alpha/bits/endian.h b/ports/sysdeps/alpha/bits/endian.h
deleted file mode 100644
index 8a16e14..0000000
--- a/ports/sysdeps/alpha/bits/endian.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Alpha is little-endian. */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#define __BYTE_ORDER __LITTLE_ENDIAN
diff --git a/ports/sysdeps/alpha/bits/link.h b/ports/sysdeps/alpha/bits/link.h
deleted file mode 100644
index 69b4d95..0000000
--- a/ports/sysdeps/alpha/bits/link.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-
-/* Registers for entry into PLT on Alpha. */
-typedef struct La_alpha_regs
-{
- uint64_t lr_r26;
- uint64_t lr_sp;
- uint64_t lr_r16;
- uint64_t lr_r17;
- uint64_t lr_r18;
- uint64_t lr_r19;
- uint64_t lr_r20;
- uint64_t lr_r21;
- double lr_f16;
- double lr_f17;
- double lr_f18;
- double lr_f19;
- double lr_f20;
- double lr_f21;
-} La_alpha_regs;
-
-/* Return values for calls from PLT on Alpha. */
-typedef struct La_alpha_retval
-{
- uint64_t lrv_r0;
- uint64_t lrv_r1;
- double lrv_f0;
- double lrv_f1;
-} La_alpha_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf64_Addr la_alpha_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- La_alpha_regs *__regs,
- unsigned int *__flags,
- const char *__symname,
- long int *__framesizep);
-extern unsigned int la_alpha_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- const La_alpha_regs *__inregs,
- La_alpha_retval *__outregs,
- const char *symname);
-
-__END_DECLS
diff --git a/ports/sysdeps/alpha/bits/mathdef.h b/ports/sysdeps/alpha/bits/mathdef.h
deleted file mode 100644
index 064a69e..0000000
--- a/ports/sysdeps/alpha/bits/mathdef.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-/* FIXME! This file describes properties of the compiler, not the machine;
- it should not be part of libc! */
-
-#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF 1
-
-/* Alpha has "float" and "double" operations. */
-typedef float float_t; /* float expressions are evaluated as float. */
-typedef double double_t; /* double expressions are evaluated as double. */
-
-/* The values returned by `ilogb' for 0 and NaN respectively. */
-# define FP_ILOGB0 (-2147483647)
-# define FP_ILOGBNAN (2147483647)
-
-#endif /* ISO C99 && MATH_H */
-
-#if defined _COMPLEX_H && !defined _COMPLEX_H_MATHDEF
-# define _COMPLEX_H_MATHDEF 1
-# if defined(__GNUC__) && !__GNUC_PREREQ(3,4)
-
-/* Due to an ABI change, we need to remap the complex float symbols. */
-# define _Mdouble_ float
-# define __MATHCALL(function, args) \
- __MATHDECL (_Complex float, function, args)
-# define __MATHDECL(type, function, args) \
- __MATHDECL_1(type, function##f, args, __c1_##function##f); \
- __MATHDECL_1(type, __##function##f, args, __c1_##function##f)
-# define __MATHDECL_1(type, function, args, alias) \
- extern type function args __asm__(#alias) __THROW
-
-# include <bits/cmathcalls.h>
-
-# undef _Mdouble_
-# undef __MATHCALL
-# undef __MATHDECL
-# undef __MATHDECL_1
-
-# endif /* GNUC before 3.4 */
-#endif /* COMPLEX_H */
diff --git a/ports/sysdeps/alpha/bits/setjmp.h b/ports/sysdeps/alpha/bits/setjmp.h
deleted file mode 100644
index d92e6f8..0000000
--- a/ports/sysdeps/alpha/bits/setjmp.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Define the machine-dependent type `jmp_buf'. Alpha version.
- Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H 1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
- We use an array of 'long int' instead, to make writing the
- assembler easier. Naturally, user code should not depend on
- either representation. */
-
-/*
- * Integer registers:
- * $0 is the return value (va);
- * $1-$8, $22-$25, $28 are call-used (t0-t7, t8-t11, at);
- * $9-$14 we save here (s0-s5);
- * $15 is the FP and we save it here (fp or s6);
- * $16-$21 are input arguments (call-used) (a0-a5);
- * $26 is the return PC and we save it here (ra);
- * $27 is the procedure value (i.e., the address of __setjmp) (pv or t12);
- * $29 is the global pointer, which the caller will reconstruct
- * from the return address restored in $26 (gp);
- * $30 is the stack pointer and we save it here (sp);
- * $31 is always zero (zero).
- *
- * Floating-point registers:
- * $f0 is the floating return value;
- * $f1, $f10-$f15, $f22-$f30 are call-used;
- * $f2-$f9 we save here;
- * $f16-$21 are input args (call-used);
- * $f31 is always zero.
- *
- * Note that even on Alpha hardware that does not have an FPU (there
- * isn't such a thing currently) it is required to implement the FP
- * registers.
- */
-
-#ifndef __ASSEMBLY__
-typedef long int __jmp_buf[17];
-#endif
-
-#endif /* bits/setjmp.h */
diff --git a/ports/sysdeps/alpha/bsd-_setjmp.S b/ports/sysdeps/alpha/bsd-_setjmp.S
deleted file mode 100644
index 4e6a2da..0000000
--- a/ports/sysdeps/alpha/bsd-_setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* _setjmp is in setjmp.S */
diff --git a/ports/sysdeps/alpha/bsd-setjmp.S b/ports/sysdeps/alpha/bsd-setjmp.S
deleted file mode 100644
index 1da848d..0000000
--- a/ports/sysdeps/alpha/bsd-setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* setjmp is in setjmp.S */
diff --git a/ports/sysdeps/alpha/bzero.S b/ports/sysdeps/alpha/bzero.S
deleted file mode 100644
index 36e891c..0000000
--- a/ports/sysdeps/alpha/bzero.S
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Fill a block of memory with zeros. Optimized for the Alpha architecture:
-
- - memory accessed as aligned quadwords only
- - destination memory not read unless needed for good cache behaviour
- - basic blocks arranged to optimize branch prediction for full-quadword
- aligned memory blocks.
- - partial head and tail quadwords constructed with byte-mask instructions
-
- This is generally scheduled for the EV5 (got to look out for my own
- interests :-), but with EV4 needs in mind. There *should* be no more
- stalls for the EV4 than there are for the EV5.
-*/
-
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
- .type __bzero, @function
- .globl __bzero
- .usepv __bzero, USEPV_PROF
-
- cfi_startproc
-
- /* On entry to this basic block:
- t3 == loop counter
- t4 == bytes in partial final word
- a0 == possibly misaligned destination pointer */
-
- .align 3
-bzero_loop:
- beq t3, $tail #
- blbc t3, 0f # skip single store if count even
-
- stq_u zero, 0(a0) # e0 : store one word
- subq t3, 1, t3 # .. e1 :
- addq a0, 8, a0 # e0 :
- beq t3, $tail # .. e1 :
-
-0: stq_u zero, 0(a0) # e0 : store two words
- subq t3, 2, t3 # .. e1 :
- stq_u zero, 8(a0) # e0 :
- addq a0, 16, a0 # .. e1 :
- bne t3, 0b # e1 :
-
-$tail: bne t4, 1f # is there a tail to do?
- ret # no
-
-1: ldq_u t0, 0(a0) # yes, load original data
- mskqh t0, t4, t0 #
- stq_u t0, 0(a0) #
- ret #
-
-__bzero:
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
-
- mov a0, v0 # e0 : move return value in place
- beq a1, $done # .. e1 : early exit for zero-length store
- and a0, 7, t1 # e0 :
- addq a1, t1, a1 # e1 : add dest misalignment to count
- srl a1, 3, t3 # e0 : loop = count >> 3
- and a1, 7, t4 # .. e1 : find number of bytes in tail
- unop # :
- beq t1, bzero_loop # e1 : aligned head, jump right in
-
- ldq_u t0, 0(a0) # e0 : load original data to mask into
- cmpult a1, 8, t2 # .. e1 : is this a sub-word set?
- bne t2, $oneq # e1 :
-
- mskql t0, a0, t0 # e0 : we span words. finish this partial
- subq t3, 1, t3 # e0 :
- addq a0, 8, a0 # .. e1 :
- stq_u t0, -8(a0) # e0 :
- br bzero_loop # .. e1 :
-
- .align 3
-$oneq:
- mskql t0, a0, t2 # e0 :
- mskqh t0, a1, t3 # e0 :
- or t2, t3, t0 # e1 :
- stq_u t0, 0(a0) # e0 :
-
-$done: ret
-
- cfi_endproc
-weak_alias (__bzero, bzero)
diff --git a/ports/sysdeps/alpha/configure b/ports/sysdeps/alpha/configure
deleted file mode 100644
index 0403c63..0000000
--- a/ports/sysdeps/alpha/configure
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
- # Local configure fragment for sysdeps/alpha.
-
-# With required gcc+binutils, we can always access static and hidden
-# symbols in a position independent way.
-$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
-
diff --git a/ports/sysdeps/alpha/configure.ac b/ports/sysdeps/alpha/configure.ac
deleted file mode 100644
index eadc57a..0000000
--- a/ports/sysdeps/alpha/configure.ac
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/alpha.
-
-# With required gcc+binutils, we can always access static and hidden
-# symbols in a position independent way.
-AC_DEFINE(PI_STATIC_AND_HIDDEN)
diff --git a/ports/sysdeps/alpha/crti.S b/ports/sysdeps/alpha/crti.S
deleted file mode 100644
index f49d136..0000000
--- a/ports/sysdeps/alpha/crti.S
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Special .init and .fini section support for Alpha.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* crti.S puts a function prologue at the beginning of the .init and
- .fini sections and defines global symbols for those addresses, so
- they can be called as functions. The symbols _init and _fini are
- magic and cause the linker to emit DT_INIT and DT_FINI.
-
- This differs from what would be generated for ordinary code in that
- we save and restore the GP within the function. In order for linker
- relaxation to work, the value in the GP register on exit from a function
- must be valid for the function entry point. Normally, a function is
- contained within one object file and this is not an issue, provided
- that the function reloads the gp after making any function calls.
- However, _init and _fini are constructed from pieces of many object
- files, all of which may have different GP values. So we must reload
- the GP value from crti.o in crtn.o. */
-
-#include <libc-symbols.h>
-#include <sysdep.h>
-
-#ifndef PREINIT_FUNCTION
-# define PREINIT_FUNCTION __gmon_start__
-#endif
-
-#ifndef PREINIT_FUNCTION_WEAK
-# define PREINIT_FUNCTION_WEAK 1
-#endif
-
-#if PREINIT_FUNCTION_WEAK
- weak_extern (PREINIT_FUNCTION)
-#else
- .hidden PREINIT_FUNCTION
-#endif
-
- .section .init, "ax", @progbits
- .globl _init
- .type _init, @function
- .usepv _init, std
-_init:
- ldgp $29, 0($27)
- subq $30, 16, $30
-#if PREINIT_FUNCTION_WEAK
- lda $27, PREINIT_FUNCTION
-#endif
- stq $26, 0($30)
- stq $29, 8($30)
-#if PREINIT_FUNCTION_WEAK
- beq $27, 1f
- jsr $26, ($27), PREINIT_FUNCTION
- ldq $29, 8($30)
-1:
-#else
- bsr $26, PREINIT_FUNCTION !samegp
-#endif
- .p2align 3
-
- .section .fini, "ax", @progbits
- .globl _fini
- .type _fini,@function
- .usepv _fini,std
-_fini:
- ldgp $29, 0($27)
- subq $30, 16, $30
- stq $26, 0($30)
- stq $29, 8($30)
- .p2align 3
diff --git a/ports/sysdeps/alpha/crtn.S b/ports/sysdeps/alpha/crtn.S
deleted file mode 100644
index 3b95bfa..0000000
--- a/ports/sysdeps/alpha/crtn.S
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Special .init and .fini section support for Alpha.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
- .section .init, "ax", @progbits
- ldq $26, 0($30)
- ldq $29, 8($30)
- addq $30, 16, $30
- ret
-
- .section .fini, "ax", @progbits
- ldq $26, 0($30)
- ldq $29, 8($30)
- addq $30, 16, $30
- ret
diff --git a/ports/sysdeps/alpha/div.S b/ports/sysdeps/alpha/div.S
deleted file mode 100644
index 65573e6..0000000
--- a/ports/sysdeps/alpha/div.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-#undef FRAME
-#ifdef __alpha_fix__
-#define FRAME 0
-#else
-#define FRAME 16
-#endif
-
- .set noat
-
- .align 4
- .globl div
- .ent div
-div:
- .frame sp, FRAME, ra
-#if FRAME > 0
- lda sp, -FRAME(sp)
-#endif
-#ifdef PROF
- .set macro
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set nomacro
- .prologue 1
-#else
- .prologue 0
-#endif
-
- beq $18, $divbyzero
- excb
- mf_fpcr $f10
-
- _ITOFT2 $17, $f0, 0, $18, $f1, 8
-
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f10
- _FTOIT $f0, $0, 0
-
- mull $0, $18, $1
- subl $17, $1, $1
-
- stl $0, 0(a0)
- stl $1, 4(a0)
- mov a0, v0
-
-#if FRAME > 0
- lda sp, FRAME(sp)
-#endif
- ret
-
-$divbyzero:
- mov a0, v0
- lda a0, GEN_INTDIV
- call_pal PAL_gentrap
- stl zero, 0(v0)
- stl zero, 4(v0)
-
-#if FRAME > 0
- lda sp, FRAME(sp)
-#endif
- ret
-
- .end div
diff --git a/ports/sysdeps/alpha/div_libc.h b/ports/sysdeps/alpha/div_libc.h
deleted file mode 100644
index 088001a..0000000
--- a/ports/sysdeps/alpha/div_libc.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Common bits for implementing software divide. */
-
-#include <sysdep.h>
-#ifdef __linux__
-# include <asm/gentrap.h>
-# include <asm/pal.h>
-#else
-# include <machine/pal.h>
-#endif
-
-/* These are not normal C functions. Argument registers are t10 and t11;
- the result goes in t12; the return address is in t9. Only t12 and AT
- may be clobbered. */
-#define X t10
-#define Y t11
-#define RV t12
-#define RA t9
-
-/* The secureplt format does not allow the division routines to be called
- via plt; there aren't enough registers free to be clobbered. Avoid
- setting the symbol type to STT_FUNC, so that the linker won't be tempted
- to create a plt entry. */
-#define funcnoplt notype
-
-/* None of these functions should use implicit anything. */
- .set nomacro
- .set noat
-
-/* Code fragment to invoke _mcount for profiling. This should be invoked
- directly after allocation of the stack frame. */
-.macro CALL_MCOUNT
-#ifdef PROF
- stq ra, 0(sp)
- stq pv, 8(sp)
- stq gp, 16(sp)
- cfi_rel_offset (ra, 0)
- cfi_rel_offset (pv, 8)
- cfi_rel_offset (gp, 16)
- br AT, 1f
- .set macro
-1: ldgp gp, 0(AT)
- mov RA, ra
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set nomacro
- ldq ra, 0(sp)
- ldq pv, 8(sp)
- ldq gp, 16(sp)
- cfi_restore (ra)
- cfi_restore (pv)
- cfi_restore (gp)
- /* Realign subsequent code with what we'd have without this
- macro at all. This means aligned with one arithmetic insn
- used within the bundle. */
- .align 4
- nop
-#endif
-.endm
-
-/* In order to make the below work, all top-level divide routines must
- use the same frame size. */
-#define FRAME 64
-
-/* Code fragment to generate an integer divide-by-zero fault. When
- building libc.so, we arrange for there to be one copy of this code
- placed late in the dso, such that all branches are forward. When
- building libc.a, we use multiple copies to avoid having an out of
- range branch. Users should jump to DIVBYZERO. */
-
-.macro DO_DIVBYZERO
-#ifdef PIC
-#define DIVBYZERO __divbyzero
- .section .gnu.linkonce.t.divbyzero, "ax", @progbits
- .globl __divbyzero
- .type __divbyzero, @function
- .usepv __divbyzero, no
- .hidden __divbyzero
-#else
-#define DIVBYZERO $divbyzero
-#endif
-
- .align 4
-DIVBYZERO:
- cfi_startproc
- cfi_return_column (RA)
- cfi_def_cfa_offset (FRAME)
-
- mov a0, RV
- unop
- lda a0, GEN_INTDIV
- call_pal PAL_gentrap
-
- mov RV, a0
- clr RV
- lda sp, FRAME(sp)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- cfi_endproc
- .size DIVBYZERO, .-DIVBYZERO
-.endm
-
-/* Like the ev6 instructions, but fall back to stack use on prior machines. */
-
- .arch ev6
-
-.macro _ITOFS gr, fr, slot
-#ifdef __alpha_fix__
- itofs \gr, \fr
-#else
- stl \gr, \slot(sp)
- lds \fr, \slot(sp)
-#endif
-.endm
-
-.macro _ITOFT gr, fr, slot
-#ifdef __alpha_fix__
- itoft \gr, \fr
-#else
- stq \gr, \slot(sp)
- ldt \fr, \slot(sp)
-#endif
-.endm
-
-.macro _FTOIT fr, gr, slot
-#ifdef __alpha_fix__
- ftoit \fr, \gr
-#else
- stt \fr, \slot(sp)
- ldq \gr, \slot(sp)
-#endif
-.endm
-
-/* Similarly, but move two registers. Schedules better for pre-ev6. */
-
-.macro _ITOFT2 gr1, fr1, slot1, gr2, fr2, slot2
-#ifdef __alpha_fix__
- itoft \gr1, \fr1
- itoft \gr2, \fr2
-#else
- stq \gr1, \slot1(sp)
- stq \gr2, \slot2(sp)
- ldt \fr1, \slot1(sp)
- ldt \fr2, \slot2(sp)
-#endif
-.endm
diff --git a/ports/sysdeps/alpha/divl.S b/ports/sysdeps/alpha/divl.S
deleted file mode 100644
index 94a7fd0..0000000
--- a/ports/sysdeps/alpha/divl.S
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-/* 32-bit signed int divide. This is not a normal C function. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may
- be clobbered.
-
- The FPU can handle all input values except zero. Whee!
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
-#ifndef EXTEND
-#define EXTEND(S,D) sextl S, D
-#endif
-
- .text
- .align 4
- .globl __divl
- .type __divl, @funcnoplt
- .usepv __divl, no
-
- cfi_startproc
- cfi_return_column (RA)
-__divl:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
- stt $f0, 0(sp)
- excb
- beq Y, DIVBYZERO
-
- stt $f1, 8(sp)
- stt $f2, 16(sp)
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f2, 16)
- mf_fpcr $f2
-
- EXTEND (X, RV)
- EXTEND (Y, AT)
- _ITOFT2 RV, $f0, 24, AT, $f1, 32
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f2
- _FTOIT $f0, RV, 24
-
- ldt $f0, 0(sp)
- ldt $f1, 8(sp)
- ldt $f2, 16(sp)
- lda sp, FRAME(sp)
- cfi_restore ($f0)
- cfi_restore ($f1)
- cfi_restore ($f2)
- cfi_def_cfa_offset (0)
- sextl RV, RV
- ret $31, (RA), 1
-
- cfi_endproc
- .size __divl, .-__divl
-
- DO_DIVBYZERO
diff --git a/ports/sysdeps/alpha/divlu.S b/ports/sysdeps/alpha/divlu.S
deleted file mode 100644
index 5c54bb5..0000000
--- a/ports/sysdeps/alpha/divlu.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#define UNSIGNED
-#define EXTEND(S,D) zapnot S, 15, D
-#define __divl __divlu
-#include <divl.S>
diff --git a/ports/sysdeps/alpha/divq.S b/ports/sysdeps/alpha/divq.S
deleted file mode 100644
index c552bd2..0000000
--- a/ports/sysdeps/alpha/divq.S
+++ /dev/null
@@ -1,273 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-
-/* 64-bit signed long divide. These are not normal C functions. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may
- be clobbered.
-
- Theory of operation here is that we can use the FPU divider for virtually
- all operands that we see: all dividend values between -2**53 and 2**53-1
- can be computed directly. Note that divisor values need not be checked
- against that range because the rounded fp value will be close enough such
- that the quotient is < 1, which will properly be truncated to zero when we
- convert back to integer.
-
- When the dividend is outside the range for which we can compute exact
- results, we use the fp quotent as an estimate from which we begin refining
- an exact integral value. This reduces the number of iterations in the
- shift-and-subtract loop significantly.
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
- .text
- .align 4
- .globl __divq
- .type __divq, @funcnoplt
- .usepv __divq, no
-
- cfi_startproc
- cfi_return_column (RA)
-__divq:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
-
- /* Get the fp divide insn issued as quickly as possible. After
- that's done, we have at least 22 cycles until its results are
- ready -- all the time in the world to figure out how we're
- going to use the results. */
- stt $f0, 0(sp)
- excb
- beq Y, DIVBYZERO
-
- stt $f1, 8(sp)
- stt $f3, 48(sp)
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f3, 48)
- mf_fpcr $f3
-
- _ITOFT2 X, $f0, 16, Y, $f1, 24
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
-
- /* Check to see if X fit in the double as an exact value. */
- sll X, (64-53), AT
- ldt $f1, 8(sp)
- sra AT, (64-53), AT
- cmpeq X, AT, AT
- beq AT, $x_big
-
- /* If we get here, we're expecting exact results from the division.
- Do nothing else besides convert and clean up. */
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f3
- _FTOIT $f0, RV, 16
-
- ldt $f0, 0(sp)
- ldt $f3, 48(sp)
- cfi_restore ($f1)
- cfi_remember_state
- cfi_restore ($f0)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- lda sp, FRAME(sp)
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
-$x_big:
- /* If we get here, X is large enough that we don't expect exact
- results, and neither X nor Y got mis-translated for the fp
- division. Our task is to take the fp result, figure out how
- far it's off from the correct result and compute a fixup. */
- stq t0, 16(sp)
- stq t1, 24(sp)
- stq t2, 32(sp)
- stq t5, 40(sp)
- cfi_rel_offset (t0, 16)
- cfi_rel_offset (t1, 24)
- cfi_rel_offset (t2, 32)
- cfi_rel_offset (t5, 40)
-
-#define Q RV /* quotient */
-#define R t0 /* remainder */
-#define SY t1 /* scaled Y */
-#define S t2 /* scalar */
-#define QY t3 /* Q*Y */
-
- /* The fixup code below can only handle unsigned values. */
- or X, Y, AT
- mov $31, t5
- blt AT, $fix_sign_in
-$fix_sign_in_ret1:
- cvttq/c $f0, $f0
-
- _FTOIT $f0, Q, 8
- .align 3
-$fix_sign_in_ret2:
- ldt $f0, 0(sp)
- stq t3, 0(sp)
- cfi_restore ($f0)
- cfi_rel_offset (t3, 0)
-
- mulq Q, Y, QY
- excb
- stq t4, 8(sp)
- mt_fpcr $f3
- cfi_rel_offset (t4, 8)
-
- subq QY, X, R
- mov Y, SY
- mov 1, S
- bgt R, $q_high
-
-$q_high_ret:
- subq X, QY, R
- mov Y, SY
- mov 1, S
- bgt R, $q_low
-
-$q_low_ret:
- ldq t0, 16(sp)
- ldq t1, 24(sp)
- ldq t2, 32(sp)
- bne t5, $fix_sign_out
-
-$fix_sign_out_ret:
- ldq t3, 0(sp)
- ldq t4, 8(sp)
- ldq t5, 40(sp)
- ldt $f3, 48(sp)
- lda sp, FRAME(sp)
- cfi_remember_state
- cfi_restore (t0)
- cfi_restore (t1)
- cfi_restore (t2)
- cfi_restore (t3)
- cfi_restore (t4)
- cfi_restore (t5)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
- /* The quotient that we computed was too large. We need to reduce
- it by S such that Y*S >= R. Obviously the closer we get to the
- correct value the better, but overshooting high is ok, as we'll
- fix that up later. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_high:
- cmpult SY, R, AT
- bne AT, 0b
-
- subq Q, S, Q
- unop
- subq QY, SY, QY
- br $q_high_ret
-
- .align 4
- /* The quotient that we computed was too small. Divide Y by the
- current remainder (R) and add that to the existing quotient (Q).
- The expectation, of course, is that R is much smaller than X. */
- /* Begin with a shift-up loop. Compute S such that Y*S >= R. We
- already have a copy of Y in SY and the value 1 in S. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_low:
- cmpult SY, R, AT
- bne AT, 0b
-
- /* Shift-down and subtract loop. Each iteration compares our scaled
- Y (SY) with the remainder (R); if SY <= R then X is divisible by
- Y's scalar (S) so add it to the quotient (Q). */
-2: addq Q, S, t3
- srl S, 1, S
- cmpule SY, R, AT
- subq R, SY, t4
-
- cmovne AT, t3, Q
- cmovne AT, t4, R
- srl SY, 1, SY
- bne S, 2b
-
- br $q_low_ret
-
- .align 4
-$fix_sign_in:
- /* If we got here, then X|Y is negative. Need to adjust everything
- such that we're doing unsigned division in the fixup loop. */
- /* T5 records the changes we had to make:
- bit 0: set if result should be negative.
- bit 2: set if X was negated.
- bit 3: set if Y was negated.
- */
- xor X, Y, AT
- cmplt AT, 0, t5
- cmplt X, 0, AT
- negq X, t0
-
- s4addq AT, t5, t5
- cmovne AT, t0, X
- cmplt Y, 0, AT
- negq Y, t0
-
- s8addq AT, t5, t5
- cmovne AT, t0, Y
- unop
- blbc t5, $fix_sign_in_ret1
-
- cvttq/c $f0, $f0
- _FTOIT $f0, Q, 8
- .align 3
- negq Q, Q
- br $fix_sign_in_ret2
-
- .align 4
-$fix_sign_out:
- /* Now we get to undo what we did above. */
- /* ??? Is this really faster than just increasing the size of
- the stack frame and storing X and Y in memory? */
- and t5, 8, AT
- negq Y, t4
- cmovne AT, t4, Y
-
- and t5, 4, AT
- negq X, t4
- cmovne AT, t4, X
-
- negq RV, t4
- cmovlbs t5, t4, RV
-
- br $fix_sign_out_ret
-
- cfi_endproc
- .size __divq, .-__divq
-
- DO_DIVBYZERO
diff --git a/ports/sysdeps/alpha/divqu.S b/ports/sysdeps/alpha/divqu.S
deleted file mode 100644
index f66dfad..0000000
--- a/ports/sysdeps/alpha/divqu.S
+++ /dev/null
@@ -1,256 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-
-/* 64-bit unsigned long divide. These are not normal C functions. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may be
- clobbered.
-
- Theory of operation here is that we can use the FPU divider for virtually
- all operands that we see: all dividend values between -2**53 and 2**53-1
- can be computed directly. Note that divisor values need not be checked
- against that range because the rounded fp value will be close enough such
- that the quotient is < 1, which will properly be truncated to zero when we
- convert back to integer.
-
- When the dividend is outside the range for which we can compute exact
- results, we use the fp quotent as an estimate from which we begin refining
- an exact integral value. This reduces the number of iterations in the
- shift-and-subtract loop significantly.
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
- .text
- .align 4
- .globl __divqu
- .type __divqu, @funcnoplt
- .usepv __divqu, no
-
- cfi_startproc
- cfi_return_column (RA)
-__divqu:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
-
- /* Get the fp divide insn issued as quickly as possible. After
- that's done, we have at least 22 cycles until its results are
- ready -- all the time in the world to figure out how we're
- going to use the results. */
- stt $f0, 0(sp)
- excb
- beq Y, DIVBYZERO
-
- stt $f1, 8(sp)
- stt $f3, 48(sp)
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f3, 48)
- mf_fpcr $f3
-
- _ITOFT2 X, $f0, 16, Y, $f1, 24
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- blt X, $x_is_neg
- divt/c $f0, $f1, $f0
-
- /* Check to see if Y was mis-converted as signed value. */
- ldt $f1, 8(sp)
- blt Y, $y_is_neg
-
- /* Check to see if X fit in the double as an exact value. */
- srl X, 53, AT
- bne AT, $x_big
-
- /* If we get here, we're expecting exact results from the division.
- Do nothing else besides convert and clean up. */
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f3
- _FTOIT $f0, RV, 16
-
- ldt $f0, 0(sp)
- ldt $f3, 48(sp)
- cfi_remember_state
- cfi_restore ($f0)
- cfi_restore ($f1)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- lda sp, FRAME(sp)
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
-$x_is_neg:
- /* If we get here, X is so big that bit 63 is set, which made the
- conversion come out negative. Fix it up lest we not even get
- a good estimate. */
- ldah AT, 0x5f80 /* 2**64 as float. */
- stt $f2, 24(sp)
- cfi_rel_offset ($f2, 24)
- _ITOFS AT, $f2, 16
-
- .align 4
- addt $f0, $f2, $f0
- unop
- divt/c $f0, $f1, $f0
- unop
-
- /* Ok, we've now the divide issued. Continue with other checks. */
- ldt $f1, 8(sp)
- unop
- ldt $f2, 24(sp)
- blt Y, $y_is_neg
- cfi_restore ($f1)
- cfi_restore ($f2)
- cfi_remember_state /* for y_is_neg */
-
- .align 4
-$x_big:
- /* If we get here, X is large enough that we don't expect exact
- results, and neither X nor Y got mis-translated for the fp
- division. Our task is to take the fp result, figure out how
- far it's off from the correct result and compute a fixup. */
- stq t0, 16(sp)
- stq t1, 24(sp)
- stq t2, 32(sp)
- stq t3, 40(sp)
- cfi_rel_offset (t0, 16)
- cfi_rel_offset (t1, 24)
- cfi_rel_offset (t2, 32)
- cfi_rel_offset (t3, 40)
-
-#define Q RV /* quotient */
-#define R t0 /* remainder */
-#define SY t1 /* scaled Y */
-#define S t2 /* scalar */
-#define QY t3 /* Q*Y */
-
- cvttq/c $f0, $f0
- _FTOIT $f0, Q, 8
- mulq Q, Y, QY
-
- .align 4
- stq t4, 8(sp)
- excb
- ldt $f0, 0(sp)
- mt_fpcr $f3
- cfi_rel_offset (t4, 8)
- cfi_restore ($f0)
-
- subq QY, X, R
- mov Y, SY
- mov 1, S
- bgt R, $q_high
-
-$q_high_ret:
- subq X, QY, R
- mov Y, SY
- mov 1, S
- bgt R, $q_low
-
-$q_low_ret:
- ldq t4, 8(sp)
- ldq t0, 16(sp)
- ldq t1, 24(sp)
- ldq t2, 32(sp)
-
- ldq t3, 40(sp)
- ldt $f3, 48(sp)
- lda sp, FRAME(sp)
- cfi_remember_state
- cfi_restore (t0)
- cfi_restore (t1)
- cfi_restore (t2)
- cfi_restore (t3)
- cfi_restore (t4)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
- /* The quotient that we computed was too large. We need to reduce
- it by S such that Y*S >= R. Obviously the closer we get to the
- correct value the better, but overshooting high is ok, as we'll
- fix that up later. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_high:
- cmpult SY, R, AT
- bne AT, 0b
-
- subq Q, S, Q
- unop
- subq QY, SY, QY
- br $q_high_ret
-
- .align 4
- /* The quotient that we computed was too small. Divide Y by the
- current remainder (R) and add that to the existing quotient (Q).
- The expectation, of course, is that R is much smaller than X. */
- /* Begin with a shift-up loop. Compute S such that Y*S >= R. We
- already have a copy of Y in SY and the value 1 in S. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_low:
- cmpult SY, R, AT
- bne AT, 0b
-
- /* Shift-down and subtract loop. Each iteration compares our scaled
- Y (SY) with the remainder (R); if SY <= R then X is divisible by
- Y's scalar (S) so add it to the quotient (Q). */
-2: addq Q, S, t3
- srl S, 1, S
- cmpule SY, R, AT
- subq R, SY, t4
-
- cmovne AT, t3, Q
- cmovne AT, t4, R
- srl SY, 1, SY
- bne S, 2b
-
- br $q_low_ret
-
- .align 4
- cfi_restore_state
-$y_is_neg:
- /* If we get here, Y is so big that bit 63 is set. The results
- from the divide will be completely wrong. Fortunately, the
- quotient must be either 0 or 1, so just compute it directly. */
- cmpule Y, X, RV
- excb
- mt_fpcr $f3
- ldt $f0, 0(sp)
- ldt $f3, 48(sp)
- lda sp, FRAME(sp)
- cfi_restore ($f0)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- cfi_endproc
- .size __divqu, .-__divqu
-
- DO_DIVBYZERO
diff --git a/ports/sysdeps/alpha/dl-dtprocnum.h b/ports/sysdeps/alpha/dl-dtprocnum.h
deleted file mode 100644
index 67845cd..0000000
--- a/ports/sysdeps/alpha/dl-dtprocnum.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* Number of extra dynamic section entries for this architecture. By
- default there are none. */
-#define DT_THISPROCNUM DT_ALPHA_NUM
diff --git a/ports/sysdeps/alpha/dl-machine.h b/ports/sysdeps/alpha/dl-machine.h
deleted file mode 100644
index 63db19c..0000000
--- a/ports/sysdeps/alpha/dl-machine.h
+++ /dev/null
@@ -1,528 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions. Alpha version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This was written in the absence of an ABI -- don't expect
- it to remain unchanged. */
-
-#ifndef dl_machine_h
-#define dl_machine_h 1
-
-#define ELF_MACHINE_NAME "alpha"
-
-#include <string.h>
-
-
-/* Mask identifying addresses reserved for the user program,
- where the dynamic linker should not map anything. */
-#define ELF_MACHINE_USER_ADDRESS_MASK 0x120000000UL
-
-/* Translate a processor specific dynamic tag to the index in l_info array. */
-#define DT_ALPHA(x) (DT_ALPHA_##x - DT_LOPROC + DT_NUM)
-
-/* Return nonzero iff ELF header is compatible with the running host. */
-static inline int
-elf_machine_matches_host (const Elf64_Ehdr *ehdr)
-{
- return ehdr->e_machine == EM_ALPHA;
-}
-
-/* Return the link-time address of _DYNAMIC. The multiple-got-capable
- linker no longer allocates the first .got entry for this. But not to
- worry, no special tricks are needed. */
-static inline Elf64_Addr
-elf_machine_dynamic (void)
-{
-#ifndef NO_AXP_MULTI_GOT_LD
- return (Elf64_Addr) &_DYNAMIC;
-#else
- register Elf64_Addr *gp __asm__ ("$29");
- return gp[-4096];
-#endif
-}
-
-/* Return the run-time load address of the shared object. */
-
-static inline Elf64_Addr
-elf_machine_load_address (void)
-{
- /* This relies on the compiler using gp-relative addresses for static symbols. */
- static void *dot = &dot;
- return (void *)&dot - dot;
-}
-
-/* Set up the loaded object described by L so its unrelocated PLT
- entries will jump to the on-demand fixup code in dl-runtime.c. */
-
-static inline int
-elf_machine_runtime_setup (struct link_map *map, int lazy, int profile)
-{
- extern char _dl_runtime_resolve_new[] attribute_hidden;
- extern char _dl_runtime_profile_new[] attribute_hidden;
- extern char _dl_runtime_resolve_old[] attribute_hidden;
- extern char _dl_runtime_profile_old[] attribute_hidden;
-
- struct pltgot {
- char *resolve;
- struct link_map *link;
- };
-
- struct pltgot *pg;
- long secureplt;
- char *resolve;
-
- if (map->l_info[DT_JMPREL] == 0 || !lazy)
- return lazy;
-
- /* Check to see if we're using the read-only plt form. */
- secureplt = map->l_info[DT_ALPHA(PLTRO)] != 0;
-
- /* If the binary uses the read-only secure plt format, PG points to
- the .got.plt section, which is the right place for ld.so to place
- its hooks. Otherwise, PG is currently pointing at the start of
- the plt; the hooks go at offset 16. */
- pg = (struct pltgot *) D_PTR (map, l_info[DT_PLTGOT]);
- pg += !secureplt;
-
- /* This function will be called to perform the relocation. They're
- not declared as functions to convince the compiler to use gp
- relative relocations for them. */
- if (secureplt)
- resolve = _dl_runtime_resolve_new;
- else
- resolve = _dl_runtime_resolve_old;
-
- if (__builtin_expect (profile, 0))
- {
- if (secureplt)
- resolve = _dl_runtime_profile_new;
- else
- resolve = _dl_runtime_profile_old;
-
- if (GLRO(dl_profile) && _dl_name_match_p (GLRO(dl_profile), map))
- {
- /* This is the object we are looking for. Say that we really
- want profiling and the timers are started. */
- GL(dl_profile_map) = map;
- }
- }
-
- pg->resolve = resolve;
- pg->link = map;
-
- return lazy;
-}
-
-/* Initial entry point code for the dynamic linker.
- The C function `_dl_start' is the real entry point;
- its return value is the user program's entry point. */
-
-#define RTLD_START asm ("\
- .section .text \n\
- .set at \n\
- .globl _start \n\
- .ent _start \n\
-_start: \n\
- .frame $31,0,$31,0 \n\
- br $gp, 0f \n\
-0: ldgp $gp, 0($gp) \n\
- .prologue 0 \n\
- /* Pass pointer to argument block to _dl_start. */ \n\
- mov $sp, $16 \n\
- bsr $26, _dl_start !samegp \n\
- .end _start \n\
- /* FALLTHRU */ \n\
- .globl _dl_start_user \n\
- .ent _dl_start_user \n\
-_dl_start_user: \n\
- .frame $31,0,$31,0 \n\
- .prologue 0 \n\
- /* Save the user entry point address in s0. */ \n\
- mov $0, $9 \n\
- /* See if we were run as a command with the executable \n\
- file name as an extra leading argument. */ \n\
- ldah $1, _dl_skip_args($gp) !gprelhigh \n\
- ldl $1, _dl_skip_args($1) !gprellow \n\
- bne $1, $fixup_stack \n\
-$fixup_stack_ret: \n\
- /* The special initializer gets called with the stack \n\
- just as the application's entry point will see it; \n\
- it can switch stacks if it moves these contents \n\
- over. */ \n\
-" RTLD_START_SPECIAL_INIT " \n\
- /* Call _dl_init(_dl_loaded, argc, argv, envp) to run \n\
- initializers. */ \n\
- ldah $16, _rtld_local($gp) !gprelhigh \n\
- ldq $16, _rtld_local($16) !gprellow \n\
- ldq $17, 0($sp) \n\
- lda $18, 8($sp) \n\
- s8addq $17, 8, $19 \n\
- addq $19, $18, $19 \n\
- bsr $26, _dl_init_internal !samegp \n\
- /* Pass our finalizer function to the user in $0. */ \n\
- ldah $0, _dl_fini($gp) !gprelhigh \n\
- lda $0, _dl_fini($0) !gprellow \n\
- /* Jump to the user's entry point. */ \n\
- mov $9, $27 \n\
- jmp ($9) \n\
-$fixup_stack: \n\
- /* Adjust the stack pointer to skip _dl_skip_args words.\n\
- This involves copying everything down, since the \n\
- stack pointer must always be 16-byte aligned. */ \n\
- ldah $7, _dl_argv_internal($gp) !gprelhigh \n\
- ldq $2, 0($sp) \n\
- ldq $5, _dl_argv_internal($7) !gprellow \n\
- subq $31, $1, $6 \n\
- subq $2, $1, $2 \n\
- s8addq $6, $5, $5 \n\
- mov $sp, $4 \n\
- s8addq $1, $sp, $3 \n\
- stq $2, 0($sp) \n\
- stq $5, _dl_argv_internal($7) !gprellow \n\
- /* Copy down argv. */ \n\
-0: ldq $5, 8($3) \n\
- addq $4, 8, $4 \n\
- addq $3, 8, $3 \n\
- stq $5, 0($4) \n\
- bne $5, 0b \n\
- /* Copy down envp. */ \n\
-1: ldq $5, 8($3) \n\
- addq $4, 8, $4 \n\
- addq $3, 8, $3 \n\
- stq $5, 0($4) \n\
- bne $5, 1b \n\
- /* Copy down auxiliary table. */ \n\
-2: ldq $5, 8($3) \n\
- ldq $6, 16($3) \n\
- addq $4, 16, $4 \n\
- addq $3, 16, $3 \n\
- stq $5, -8($4) \n\
- stq $6, 0($4) \n\
- bne $5, 2b \n\
- br $fixup_stack_ret \n\
- .end _dl_start_user \n\
- .set noat \n\
-.previous");
-
-#ifndef RTLD_START_SPECIAL_INIT
-#define RTLD_START_SPECIAL_INIT /* nothing */
-#endif
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry
- or TLS variables, so undefined references should not be allowed
- to define the value.
-
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve
- to one of the main executable's symbols, as for a COPY reloc.
- This is unused on Alpha. */
-
-# define elf_machine_type_class(type) \
- (((type) == R_ALPHA_JMP_SLOT \
- || (type) == R_ALPHA_DTPMOD64 \
- || (type) == R_ALPHA_DTPREL64 \
- || (type) == R_ALPHA_TPREL64) * ELF_RTYPE_CLASS_PLT)
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */
-#define ELF_MACHINE_JMP_SLOT R_ALPHA_JMP_SLOT
-
-/* The alpha never uses Elf64_Rel relocations. */
-#define ELF_MACHINE_NO_REL 1
-
-/* We define an initialization functions. This is called very early in
- * _dl_sysdep_start. */
-#define DL_PLATFORM_INIT dl_platform_init ()
-
-static inline void __attribute__ ((unused))
-dl_platform_init (void)
-{
- if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0')
- /* Avoid an empty string which would disturb us. */
- GLRO(dl_platform) = NULL;
-}
-
-/* Fix up the instructions of a PLT entry to invoke the function
- rather than the dynamic linker. */
-static inline Elf64_Addr
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
- const Elf64_Rela *reloc,
- Elf64_Addr *got_addr, Elf64_Addr value)
-{
- const Elf64_Rela *rela_plt;
- Elf64_Word *plte;
- long int edisp;
-
- /* Store the value we are going to load. */
- *got_addr = value;
-
- /* If this binary uses the read-only secure plt format, we're done. */
- if (map->l_info[DT_ALPHA(PLTRO)])
- return value;
-
- /* Otherwise we have to modify the plt entry in place to do the branch. */
-
- /* Recover the PLT entry address by calculating reloc's index into the
- .rela.plt, and finding that entry in the .plt. */
- rela_plt = (const Elf64_Rela *) D_PTR (map, l_info[DT_JMPREL]);
- plte = (Elf64_Word *) (D_PTR (map, l_info[DT_PLTGOT]) + 32);
- plte += 3 * (reloc - rela_plt);
-
- /* Find the displacement from the plt entry to the function. */
- edisp = (long int) (value - (Elf64_Addr)&plte[3]) / 4;
-
- if (edisp >= -0x100000 && edisp < 0x100000)
- {
- /* If we are in range, use br to perfect branch prediction and
- elide the dependency on the address load. This case happens,
- e.g., when a shared library call is resolved to the same library. */
-
- int hi, lo;
- hi = value - (Elf64_Addr)&plte[0];
- lo = (short int) hi;
- hi = (hi - lo) >> 16;
-
- /* Emit "lda $27,lo($27)" */
- plte[1] = 0x237b0000 | (lo & 0xffff);
-
- /* Emit "br $31,function" */
- plte[2] = 0xc3e00000 | (edisp & 0x1fffff);
-
- /* Think about thread-safety -- the previous instructions must be
- committed to memory before the first is overwritten. */
- __asm__ __volatile__("wmb" : : : "memory");
-
- /* Emit "ldah $27,hi($27)" */
- plte[0] = 0x277b0000 | (hi & 0xffff);
- }
- else
- {
- /* Don't bother with the hint since we already know the hint is
- wrong. Eliding it prevents the wrong page from getting pulled
- into the cache. */
-
- int hi, lo;
- hi = (Elf64_Addr)got_addr - (Elf64_Addr)&plte[0];
- lo = (short)hi;
- hi = (hi - lo) >> 16;
-
- /* Emit "ldq $27,lo($27)" */
- plte[1] = 0xa77b0000 | (lo & 0xffff);
-
- /* Emit "jmp $31,($27)" */
- plte[2] = 0x6bfb0000;
-
- /* Think about thread-safety -- the previous instructions must be
- committed to memory before the first is overwritten. */
- __asm__ __volatile__("wmb" : : : "memory");
-
- /* Emit "ldah $27,hi($27)" */
- plte[0] = 0x277b0000 | (hi & 0xffff);
- }
-
- /* At this point, if we've been doing runtime resolution, Icache is dirty.
- This will be taken care of in _dl_runtime_resolve. If instead we are
- doing this as part of non-lazy startup relocation, that bit of code
- hasn't made it into Icache yet, so there's nothing to clean up. */
-
- return value;
-}
-
-/* Return the final value of a plt relocation. */
-static inline Elf64_Addr
-elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
- Elf64_Addr value)
-{
- return value + reloc->r_addend;
-}
-
-/* Names of the architecture-specific auditing callback functions. */
-#define ARCH_LA_PLTENTER alpha_gnu_pltenter
-#define ARCH_LA_PLTEXIT alpha_gnu_pltexit
-
-#endif /* !dl_machine_h */
-
-#ifdef RESOLVE_MAP
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
- MAP is the object containing the reloc. */
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela (struct link_map *map,
- const Elf64_Rela *reloc,
- const Elf64_Sym *sym,
- const struct r_found_version *version,
- void *const reloc_addr_arg,
- int skip_ifunc)
-{
- Elf64_Addr *const reloc_addr = reloc_addr_arg;
- unsigned long int const r_type = ELF64_R_TYPE (reloc->r_info);
-
-#if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC && !defined SHARED
- /* This is defined in rtld.c, but nowhere in the static libc.a; make the
- reference weak so static programs can still link. This declaration
- cannot be done when compiling rtld.c (i.e. #ifdef RTLD_BOOTSTRAP)
- because rtld.c contains the common defn for _dl_rtld_map, which is
- incompatible with a weak decl in the same file. */
- weak_extern (_dl_rtld_map);
-#endif
-
- /* We cannot use a switch here because we cannot locate the switch
- jump table until we've self-relocated. */
-
-#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
- if (__builtin_expect (r_type == R_ALPHA_RELATIVE, 0))
- {
-# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
- /* Already done in dynamic linker. */
- if (map != &GL(dl_rtld_map))
-# endif
- {
- /* XXX Make some timings. Maybe it's preferable to test for
- unaligned access and only do it the complex way if necessary. */
- Elf64_Addr reloc_addr_val;
-
- /* Load value without causing unaligned trap. */
- memcpy (&reloc_addr_val, reloc_addr_arg, 8);
- reloc_addr_val += map->l_addr;
-
- /* Store value without causing unaligned trap. */
- memcpy (reloc_addr_arg, &reloc_addr_val, 8);
- }
- }
- else
-#endif
- if (__builtin_expect (r_type == R_ALPHA_NONE, 0))
- return;
- else
- {
- struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
- Elf64_Addr sym_value;
- Elf64_Addr sym_raw_value;
-
- sym_raw_value = sym_value = reloc->r_addend;
- if (sym_map)
- {
- sym_raw_value += sym->st_value;
- sym_value = sym_raw_value + sym_map->l_addr;
- }
-
- if (r_type == R_ALPHA_GLOB_DAT)
- *reloc_addr = sym_value;
-#ifdef RESOLVE_CONFLICT_FIND_MAP
- /* In .gnu.conflict section, R_ALPHA_JMP_SLOT relocations have
- R_ALPHA_JMP_SLOT in lower 8 bits and the remaining 24 bits
- are .rela.plt index. */
- else if ((r_type & 0xff) == R_ALPHA_JMP_SLOT)
- {
- /* elf_machine_fixup_plt needs the map reloc_addr points into,
- while in _dl_resolve_conflicts map is _dl_loaded. */
- RESOLVE_CONFLICT_FIND_MAP (map, reloc_addr);
- reloc = ((const Elf64_Rela *) D_PTR (map, l_info[DT_JMPREL]))
- + (r_type >> 8);
- elf_machine_fixup_plt (map, 0, reloc, reloc_addr, sym_value);
- }
-#else
- else if (r_type == R_ALPHA_JMP_SLOT)
- elf_machine_fixup_plt (map, 0, reloc, reloc_addr, sym_value);
-#endif
-#ifndef RTLD_BOOTSTRAP
- else if (r_type == R_ALPHA_REFQUAD)
- {
- /* Store value without causing unaligned trap. */
- memcpy (reloc_addr_arg, &sym_value, 8);
- }
-#endif
- else if (r_type == R_ALPHA_DTPMOD64)
- {
-# ifdef RTLD_BOOTSTRAP
- /* During startup the dynamic linker is always index 1. */
- *reloc_addr = 1;
-# else
- /* Get the information from the link map returned by the
- resolv function. */
- if (sym_map != NULL)
- *reloc_addr = sym_map->l_tls_modid;
-# endif
- }
- else if (r_type == R_ALPHA_DTPREL64)
- {
-# ifndef RTLD_BOOTSTRAP
- /* During relocation all TLS symbols are defined and used.
- Therefore the offset is already correct. */
- *reloc_addr = sym_raw_value;
-# endif
- }
- else if (r_type == R_ALPHA_TPREL64)
- {
-# ifdef RTLD_BOOTSTRAP
- *reloc_addr = sym_raw_value + map->l_tls_offset;
-# else
- if (sym_map)
- {
- CHECK_STATIC_TLS (map, sym_map);
- *reloc_addr = sym_raw_value + sym_map->l_tls_offset;
- }
-# endif
- }
- else
- _dl_reloc_bad_type (map, r_type, 0);
- }
-}
-
-/* Let do-rel.h know that on Alpha if l_addr is 0, all RELATIVE relocs
- can be skipped. */
-#define ELF_MACHINE_REL_RELATIVE 1
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
- void *const reloc_addr_arg)
-{
- /* XXX Make some timings. Maybe it's preferable to test for
- unaligned access and only do it the complex way if necessary. */
- Elf64_Addr reloc_addr_val;
-
- /* Load value without causing unaligned trap. */
- memcpy (&reloc_addr_val, reloc_addr_arg, 8);
- reloc_addr_val += l_addr;
-
- /* Store value without causing unaligned trap. */
- memcpy (reloc_addr_arg, &reloc_addr_val, 8);
-}
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
- Elf64_Addr l_addr, const Elf64_Rela *reloc,
- int skip_ifunc)
-{
- Elf64_Addr * const reloc_addr = (void *)(l_addr + reloc->r_offset);
- unsigned long int const r_type = ELF64_R_TYPE (reloc->r_info);
-
- if (r_type == R_ALPHA_JMP_SLOT)
- {
- /* Perform a RELATIVE reloc on the .got entry that transfers
- to the .plt. */
- *reloc_addr += l_addr;
- }
- else if (r_type == R_ALPHA_NONE)
- return;
- else
- _dl_reloc_bad_type (map, r_type, 1);
-}
-
-#endif /* RESOLVE_MAP */
diff --git a/ports/sysdeps/alpha/dl-procinfo.c b/ports/sysdeps/alpha/dl-procinfo.c
deleted file mode 100644
index ee707e6..0000000
--- a/ports/sysdeps/alpha/dl-procinfo.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Data for Alpha version of processor capability information.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aurelien Jarno <aurelien@aurel32.net>, 2008.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This information must be kept in sync with the _DL_PLATFORM_COUNT
- definitions in procinfo.h.
-
- If anything should be added here check whether the size of each string
- is still ok with the given array size.
-
- All the #ifdefs in the definitions are quite irritating but
- necessary if we want to avoid duplicating the information. There
- are three different modes:
-
- - PROCINFO_DECL is defined. This means we are only interested in
- declarations.
-
- - PROCINFO_DECL is not defined:
-
- + if SHARED is defined the file is included in an array
- initializer. The .element = { ... } syntax is needed.
-
- + if SHARED is not defined a normal array initialization is
- needed.
- */
-
-#ifndef PROCINFO_CLASS
-#define PROCINFO_CLASS
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
- ._dl_alpha_platforms
-#else
-PROCINFO_CLASS const char _dl_alpha_platforms[5][5]
-#endif
-#ifndef PROCINFO_DECL
-= {
- "ev4", "ev5", "ev56", "ev6", "ev67"
- }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
-#undef PROCINFO_DECL
-#undef PROCINFO_CLASS
diff --git a/ports/sysdeps/alpha/dl-procinfo.h b/ports/sysdeps/alpha/dl-procinfo.h
deleted file mode 100644
index 02a8c17..0000000
--- a/ports/sysdeps/alpha/dl-procinfo.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Alpha version of processor capability information handling macros.
- Copyright (C) 2008-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Aurelien Jarno <aurelien@aurel32.net>, 2008.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _DL_PROCINFO_H
-#define _DL_PROCINFO_H 1
-
-#include <ldsodefs.h>
-
-
-/* Mask to filter out platforms. */
-#define _DL_HWCAP_PLATFORM (-1ULL)
-
-#define _DL_PLATFORMS_COUNT 5
-
-static inline const char *
-__attribute__ ((unused))
-_dl_platform_string (int idx)
-{
- return GLRO(dl_alpha_platforms)[idx];
-};
-
-static inline int
-__attribute__ ((unused, always_inline))
-_dl_string_platform (const char *str)
-{
- int i;
-
- if (str != NULL)
- for (i = 0; i < _DL_PLATFORMS_COUNT; ++i)
- {
- if (strcmp (str, _dl_platform_string (i)) == 0)
- return i;
- }
- return -1;
-};
-
-/* We cannot provide a general printing function. */
-#define _dl_procinfo(type, word) -1
-
-/* There are no hardware capabilities defined. */
-#define _dl_hwcap_string(idx) ""
-
-/* By default there is no important hardware capability. */
-#define HWCAP_IMPORTANT (0)
-
-/* We don't have any hardware capabilities. */
-#define _DL_HWCAP_COUNT 0
-
-#define _dl_string_hwcap(str) (-1)
-
-#endif /* dl-procinfo.h */
diff --git a/ports/sysdeps/alpha/dl-sysdep.h b/ports/sysdeps/alpha/dl-sysdep.h
deleted file mode 100644
index e9c86df..0000000
--- a/ports/sysdeps/alpha/dl-sysdep.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* System-specific settings for dynamic linker code. Alpha version.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include_next <dl-sysdep.h>
-
-/* _dl_argv cannot be attribute_relro, because _dl_start_user
- might write into it after _dl_start returns. */
-#define DL_ARGV_NOT_RELRO 1
diff --git a/ports/sysdeps/alpha/dl-tls.h b/ports/sysdeps/alpha/dl-tls.h
deleted file mode 100644
index 65bab9f..0000000
--- a/ports/sysdeps/alpha/dl-tls.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker. Alpha version.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-
-/* Type used for the representation of TLS information in the GOT. */
-typedef struct
-{
- unsigned long int ti_module;
- unsigned long int ti_offset;
-} tls_index;
-
-extern void *__tls_get_addr (tls_index *ti);
-
-/* Value used for dtv entries for which the allocation is delayed. */
-#define TLS_DTV_UNALLOCATED ((void *) -1l)
diff --git a/ports/sysdeps/alpha/dl-trampoline.S b/ports/sysdeps/alpha/dl-trampoline.S
deleted file mode 100644
index 2f3b66b..0000000
--- a/ports/sysdeps/alpha/dl-trampoline.S
+++ /dev/null
@@ -1,540 +0,0 @@
-/* PLT trampolines. Alpha version.
- Copyright (C) 2005-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
- .set noat
-
-.macro savei regno, offset
- stq $\regno, \offset($30)
- cfi_rel_offset(\regno, \offset)
-.endm
-
-.macro savef regno, offset
- stt $f\regno, \offset($30)
- cfi_rel_offset(\regno+32, \offset)
-.endm
-
- .align 4
- .globl _dl_runtime_resolve_new
- .ent _dl_runtime_resolve_new
-
-#undef FRAMESIZE
-#define FRAMESIZE 14*8
-
-_dl_runtime_resolve_new:
- .frame $30, FRAMESIZE, $26, 0
- .mask 0x4000000, 0
-
- ldah $29, 0($27) !gpdisp!1
- lda $30, -FRAMESIZE($30)
- stq $26, 0*8($30)
- stq $16, 2*8($30)
-
- stq $17, 3*8($30)
- lda $29, 0($29) !gpdisp!1
- stq $18, 4*8($30)
- mov $28, $16 /* link_map from .got.plt */
-
- stq $19, 5*8($30)
- mov $25, $17 /* offset of reloc entry */
- stq $20, 6*8($30)
- mov $26, $18 /* return address */
-
- stq $21, 7*8($30)
- stt $f16, 8*8($30)
- stt $f17, 9*8($30)
- stt $f18, 10*8($30)
-
- stt $f19, 11*8($30)
- stt $f20, 12*8($30)
- stt $f21, 13*8($30)
- .prologue 2
-
- bsr $26, _dl_fixup !samegp
- mov $0, $27
-
- ldq $26, 0*8($30)
- ldq $16, 2*8($30)
- ldq $17, 3*8($30)
- ldq $18, 4*8($30)
- ldq $19, 5*8($30)
- ldq $20, 6*8($30)
- ldq $21, 7*8($30)
- ldt $f16, 8*8($30)
- ldt $f17, 9*8($30)
- ldt $f18, 10*8($30)
- ldt $f19, 11*8($30)
- ldt $f20, 12*8($30)
- ldt $f21, 13*8($30)
- lda $30, FRAMESIZE($30)
- jmp $31, ($27), 0
- .end _dl_runtime_resolve_new
-
- .globl _dl_runtime_profile_new
- .type _dl_runtime_profile_new, @function
-
-#undef FRAMESIZE
-#define FRAMESIZE 20*8
-
- /* We save the registers in a different order than desired by
- .mask/.fmask, so we have to use explicit cfi directives. */
- cfi_startproc
-
-_dl_runtime_profile_new:
- ldah $29, 0($27) !gpdisp!2
- lda $30, -FRAMESIZE($30)
- savei 26, 0*8
- stq $16, 2*8($30)
-
- stq $17, 3*8($30)
- lda $29, 0($29) !gpdisp!2
- stq $18, 4*8($30)
- lda $1, FRAMESIZE($30) /* incoming sp value */
-
- stq $1, 1*8($30)
- stq $19, 5*8($30)
- stq $20, 6*8($30)
- mov $28, $16 /* link_map from .got.plt */
-
- stq $21, 7*8($30)
- mov $25, $17 /* offset of reloc entry */
- stt $f16, 8*8($30)
- mov $26, $18 /* return address */
-
- stt $f17, 9*8($30)
- mov $30, $19 /* La_alpha_regs address */
- stt $f18, 10*8($30)
- lda $20, 14*8($30) /* framesize address */
-
- stt $f19, 11*8($30)
- stt $f20, 12*8($30)
- stt $f21, 13*8($30)
- stq $28, 16*8($30)
- stq $25, 17*8($30)
-
- bsr $26, _dl_profile_fixup !samegp
- mov $0, $27
-
- /* Discover if we're wrapping this call. */
- ldq $18, 14*8($30)
- bge $18, 1f
-
- ldq $26, 0*8($30)
- ldq $16, 2*8($30)
- ldq $17, 3*8($30)
- ldq $18, 4*8($30)
- ldq $19, 5*8($30)
- ldq $20, 6*8($30)
- ldq $21, 7*8($30)
- ldt $f16, 8*8($30)
- ldt $f17, 9*8($30)
- ldt $f18, 10*8($30)
- ldt $f19, 11*8($30)
- ldt $f20, 12*8($30)
- ldt $f21, 13*8($30)
- lda $30, FRAMESIZE($30)
- jmp $31, ($27), 0
-
-1:
- /* Create a frame pointer and allocate a new argument frame. */
- savei 15, 15*8
- mov $30, $15
- cfi_def_cfa_register (15)
- addq $18, 15, $18
- bic $18, 15, $18
- subq $30, $18, $30
-
- /* Save the call destination around memcpy. */
- stq $0, 14*8($30)
-
- /* Copy the stack arguments into place. */
- lda $16, 0($30)
- lda $17, FRAMESIZE($15)
- jsr $26, memcpy
- ldgp $29, 0($26)
-
- /* Reload the argument registers. */
- ldq $27, 14*8($30)
- ldq $16, 2*8($15)
- ldq $17, 3*8($15)
- ldq $18, 4*8($15)
- ldq $19, 5*8($15)
- ldq $20, 6*8($15)
- ldq $21, 7*8($15)
- ldt $f16, 8*8($15)
- ldt $f17, 9*8($15)
- ldt $f18, 10*8($15)
- ldt $f19, 11*8($15)
- ldt $f20, 12*8($15)
- ldt $f21, 13*8($15)
-
- jsr $26, ($27), 0
- ldgp $29, 0($26)
-
- /* Set up for call to _dl_call_pltexit. */
- ldq $16, 16*8($15)
- ldq $17, 17*8($15)
- stq $0, 16*8($15)
- lda $18, 0($15)
- stq $1, 17*8($15)
- lda $19, 16*8($15)
- stt $f0, 18*8($15)
- stt $f1, 19*8($15)
- bsr $26, _dl_call_pltexit !samegp
-
- mov $15, $30
- cfi_def_cfa_register (30)
- ldq $26, 0($30)
- ldq $15, 15*8($30)
- lda $30, FRAMESIZE($30)
- ret
-
- cfi_endproc
- .size _dl_runtime_profile_new, .-_dl_runtime_profile_new
-
- .align 4
- .globl _dl_runtime_resolve_old
- .ent _dl_runtime_resolve_old
-
-#undef FRAMESIZE
-#define FRAMESIZE 44*8
-
-_dl_runtime_resolve_old:
- lda $30, -FRAMESIZE($30)
- .frame $30, FRAMESIZE, $26
- /* Preserve all registers that C normally doesn't. */
- stq $26, 0*8($30)
- stq $0, 1*8($30)
- stq $1, 2*8($30)
- stq $2, 3*8($30)
- stq $3, 4*8($30)
- stq $4, 5*8($30)
- stq $5, 6*8($30)
- stq $6, 7*8($30)
- stq $7, 8*8($30)
- stq $8, 9*8($30)
- stq $16, 10*8($30)
- stq $17, 11*8($30)
- stq $18, 12*8($30)
- stq $19, 13*8($30)
- stq $20, 14*8($30)
- stq $21, 15*8($30)
- stq $22, 16*8($30)
- stq $23, 17*8($30)
- stq $24, 18*8($30)
- stq $25, 19*8($30)
- stq $29, 20*8($30)
- stt $f0, 21*8($30)
- stt $f1, 22*8($30)
- stt $f10, 23*8($30)
- stt $f11, 24*8($30)
- stt $f12, 25*8($30)
- stt $f13, 26*8($30)
- stt $f14, 27*8($30)
- stt $f15, 28*8($30)
- stt $f16, 29*8($30)
- stt $f17, 30*8($30)
- stt $f18, 31*8($30)
- stt $f19, 32*8($30)
- stt $f20, 33*8($30)
- stt $f21, 34*8($30)
- stt $f22, 35*8($30)
- stt $f23, 36*8($30)
- stt $f24, 37*8($30)
- stt $f25, 38*8($30)
- stt $f26, 39*8($30)
- stt $f27, 40*8($30)
- stt $f28, 41*8($30)
- stt $f29, 42*8($30)
- stt $f30, 43*8($30)
- .mask 0x27ff01ff, -FRAMESIZE
- .fmask 0xfffffc03, -FRAMESIZE+21*8
- /* Set up our GP. */
- br $29, .+4
- ldgp $29, 0($29)
- .prologue 0
- /* Set up the arguments for _dl_fixup:
- $16 = link_map out of plt0
- $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24
- $18 = return address
- */
- subq $28, $27, $17
- ldq $16, 8($27)
- subq $17, 20, $17
- mov $26, $18
- addq $17, $17, $17
- bsr $26, _dl_fixup !samegp
-
- /* Move the destination address into position. */
- mov $0, $27
- /* Restore program registers. */
- ldq $26, 0*8($30)
- ldq $0, 1*8($30)
- ldq $1, 2*8($30)
- ldq $2, 3*8($30)
- ldq $3, 4*8($30)
- ldq $4, 5*8($30)
- ldq $5, 6*8($30)
- ldq $6, 7*8($30)
- ldq $7, 8*8($30)
- ldq $8, 9*8($30)
- ldq $16, 10*8($30)
- ldq $17, 11*8($30)
- ldq $18, 12*8($30)
- ldq $19, 13*8($30)
- ldq $20, 14*8($30)
- ldq $21, 15*8($30)
- ldq $22, 16*8($30)
- ldq $23, 17*8($30)
- ldq $24, 18*8($30)
- ldq $25, 19*8($30)
- ldq $29, 20*8($30)
- ldt $f0, 21*8($30)
- ldt $f1, 22*8($30)
- ldt $f10, 23*8($30)
- ldt $f11, 24*8($30)
- ldt $f12, 25*8($30)
- ldt $f13, 26*8($30)
- ldt $f14, 27*8($30)
- ldt $f15, 28*8($30)
- ldt $f16, 29*8($30)
- ldt $f17, 30*8($30)
- ldt $f18, 31*8($30)
- ldt $f19, 32*8($30)
- ldt $f20, 33*8($30)
- ldt $f21, 34*8($30)
- ldt $f22, 35*8($30)
- ldt $f23, 36*8($30)
- ldt $f24, 37*8($30)
- ldt $f25, 38*8($30)
- ldt $f26, 39*8($30)
- ldt $f27, 40*8($30)
- ldt $f28, 41*8($30)
- ldt $f29, 42*8($30)
- ldt $f30, 43*8($30)
- /* Flush the Icache after having modified the .plt code. */
- imb
- /* Clean up and turn control to the destination */
- lda $30, FRAMESIZE($30)
- jmp $31, ($27)
-
- .end _dl_runtime_resolve_old
-
- .globl _dl_runtime_profile_old
- .usepv _dl_runtime_profile_old, no
- .type _dl_runtime_profile_old, @function
-
- /* We save the registers in a different order than desired by
- .mask/.fmask, so we have to use explicit cfi directives. */
- cfi_startproc
-
-#undef FRAMESIZE
-#define FRAMESIZE 50*8
-
- .align 4
-_dl_runtime_profile_old:
- lda $30, -FRAMESIZE($30)
- cfi_adjust_cfa_offset (FRAMESIZE)
-
- /* Preserve all argument registers. This also constructs the
- La_alpha_regs structure. */
- savei 26, 0*8
- savei 16, 2*8
- savei 17, 3*8
- savei 18, 4*8
- savei 19, 5*8
- savei 20, 6*8
- savei 21, 7*8
- lda $16, FRAMESIZE($30)
- savef 16, 8*8
- savef 17, 9*8
- savef 18, 10*8
- savef 19, 11*8
- savef 20, 12*8
- savef 21, 13*8
- stq $16, 1*8($30)
-
- /* Preserve all registers that C normally doesn't. */
- savei 0, 14*8
- savei 1, 15*8
- savei 2, 16*8
- savei 3, 17*8
- savei 4, 18*8
- savei 5, 19*8
- savei 6, 20*8
- savei 7, 21*8
- savei 8, 22*8
- savei 22, 23*8
- savei 23, 24*8
- savei 24, 25*8
- savei 25, 26*8
- savei 29, 27*8
- savef 0, 28*8
- savef 1, 29*8
- savef 10, 30*8
- savef 11, 31*8
- savef 12, 32*8
- savef 13, 33*8
- savef 14, 34*8
- savef 15, 35*8
- savef 22, 36*8
- savef 23, 37*8
- savef 24, 38*8
- savef 25, 39*8
- savef 26, 40*8
- savef 27, 41*8
- savef 28, 42*8
- savef 29, 43*8
- savef 30, 44*8
-
- /* Set up our GP. */
- br $29, .+4
- ldgp $29, 0($29)
-
- /* Set up the arguments for _dl_profile_fixup:
- $16 = link_map out of plt0
- $17 = offset of reloc entry = ($28 - $27 - 20) /12 * 24
- $18 = return address
- $19 = La_alpha_regs address
- $20 = framesize address
- */
- subq $28, $27, $17
- ldq $16, 8($27)
- subq $17, 20, $17
- mov $26, $18
- addq $17, $17, $17
- lda $19, 0($30)
- lda $20, 45*8($30)
- stq $16, 48*8($30)
- stq $17, 49*8($30)
-
- bsr $26, _dl_profile_fixup !samegp
-
- /* Discover if we're wrapping this call. */
- ldq $18, 45*8($30)
- bge $18, 1f
-
- /* Move the destination address into position. */
- mov $0, $27
- /* Restore program registers. */
- ldq $26, 0*8($30)
- ldq $16, 2*8($30)
- ldq $17, 3*8($30)
- ldq $18, 4*8($30)
- ldq $19, 5*8($30)
- ldq $20, 6*8($30)
- ldq $21, 7*8($30)
- ldt $f16, 8*8($30)
- ldt $f17, 9*8($30)
- ldt $f18, 10*8($30)
- ldt $f19, 11*8($30)
- ldt $f20, 12*8($30)
- ldt $f21, 13*8($30)
- ldq $0, 14*8($30)
- ldq $1, 15*8($30)
- ldq $2, 16*8($30)
- ldq $3, 17*8($30)
- ldq $4, 18*8($30)
- ldq $5, 19*8($30)
- ldq $6, 20*8($30)
- ldq $7, 21*8($30)
- ldq $8, 22*8($30)
- ldq $22, 23*8($30)
- ldq $23, 24*8($30)
- ldq $24, 25*8($30)
- ldq $25, 26*8($30)
- ldq $29, 27*8($30)
- ldt $f0, 28*8($30)
- ldt $f1, 29*8($30)
- ldt $f10, 30*8($30)
- ldt $f11, 31*8($30)
- ldt $f12, 32*8($30)
- ldt $f13, 33*8($30)
- ldt $f14, 34*8($30)
- ldt $f15, 35*8($30)
- ldt $f22, 36*8($30)
- ldt $f23, 37*8($30)
- ldt $f24, 38*8($30)
- ldt $f25, 39*8($30)
- ldt $f26, 40*8($30)
- ldt $f27, 41*8($30)
- ldt $f28, 42*8($30)
- ldt $f29, 43*8($30)
- ldt $f30, 44*8($30)
-
- /* Clean up and turn control to the destination. */
- lda $30, FRAMESIZE($30)
- jmp $31, ($27)
-
-1:
- /* Create a frame pointer and allocate a new argument frame. */
- savei 15, 45*8
- mov $30, $15
- cfi_def_cfa_register (15)
- addq $18, 15, $18
- bic $18, 15, $18
- subq $30, $18, $30
-
- /* Save the call destination around memcpy. */
- stq $0, 46*8($30)
-
- /* Copy the stack arguments into place. */
- lda $16, 0($30)
- lda $17, FRAMESIZE($15)
- jsr $26, memcpy
- ldgp $29, 0($26)
-
- /* Reload the argument registers. */
- ldq $27, 46*8($30)
- ldq $16, 2*8($15)
- ldq $17, 3*8($15)
- ldq $18, 4*8($15)
- ldq $19, 5*8($15)
- ldq $20, 6*8($15)
- ldq $21, 7*8($15)
- ldt $f16, 8*8($15)
- ldt $f17, 9*8($15)
- ldt $f18, 10*8($15)
- ldt $f19, 11*8($15)
- ldt $f20, 12*8($15)
- ldt $f21, 13*8($15)
-
- jsr $26, ($27), 0
- ldgp $29, 0($26)
-
- /* Set up for call to _dl_call_pltexit. */
- ldq $16, 48*8($15)
- ldq $17, 49*8($15)
- stq $0, 46*8($15)
- lda $18, 0($15)
- stq $1, 47*8($15)
- lda $19, 46*8($15)
- stt $f0, 48*8($15)
- stt $f1, 49*8($15)
- bsr $26, _dl_call_pltexit !samegp
-
- mov $15, $30
- cfi_def_cfa_register (30)
- ldq $26, 0($30)
- ldq $15, 45*8($30)
- lda $30, FRAMESIZE($30)
- ret
-
- cfi_endproc
- .size _dl_runtime_profile_old, .-_dl_runtime_profile_old
diff --git a/ports/sysdeps/alpha/ffs.S b/ports/sysdeps/alpha/ffs.S
deleted file mode 100644
index 8d762ef..0000000
--- a/ports/sysdeps/alpha/ffs.S
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Finds the first bit set in an integer. Optimized for the Alpha
- architecture. */
-
-#include <sysdep.h>
-
- .set noreorder
- .set noat
-
-
-ENTRY(__ffs)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
- zap $16, 0xF0, $16
- br $ffsl..ng
-#else
- .prologue 0
- zap $16, 0xF0, $16
- # FALLTHRU
-#endif
-END(__ffs)
-
- .align 4
-ENTRY(ffsl)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-$ffsl..ng:
-#else
- .prologue 0
-#endif
- not $16, $1 # e0 :
- ldi $2, -1 # .. e1 :
- cmpbge $1, $2, $3 # e0 : bit N == 1 for byte N == 0
- clr $0 # .. e1 :
- addq $3, 1, $4 # e0 :
- bic $4, $3, $3 # e1 : bit N == 1 for first byte N != 0
- and $3, 0xF0, $4 # e0 :
- and $3, 0xCC, $5 # .. e1 :
- and $3, 0xAA, $6 # e0 :
- cmovne $4, 4, $0 # .. e1 :
- cmovne $5, 2, $5 # e0 :
- cmovne $6, 1, $6 # .. e1 :
- addl $0, $5, $0 # e0 :
- addl $0, $6, $0 # e1 : $0 == N
- extbl $16, $0, $1 # e0 : $1 == byte N
- ldi $2, 1 # .. e1 :
- negq $1, $3 # e0 :
- and $3, $1, $3 # e1 : bit N == least bit set of byte N
- and $3, 0xF0, $4 # e0 :
- and $3, 0xCC, $5 # .. e1 :
- and $3, 0xAA, $6 # e0 :
- cmovne $4, 5, $2 # .. e1 :
- cmovne $5, 2, $5 # e0 :
- cmovne $6, 1, $6 # .. e1 :
- s8addl $0, $2, $0 # e0 : mult byte ofs by 8 and sum
- addl $5, $6, $5 # .. e1 :
- addl $0, $5, $0 # e0 :
- nop # .. e1 :
- cmoveq $16, 0, $0 # e0 : trap input == 0 case.
- ret # .. e1 : 18
-
-END(ffsl)
-
-weak_alias (__ffs, ffs)
-libc_hidden_def (__ffs)
-libc_hidden_builtin_def (ffs)
-weak_extern (ffsl)
-weak_alias (ffsl, ffsll)
diff --git a/ports/sysdeps/alpha/ffsll.S b/ports/sysdeps/alpha/ffsll.S
deleted file mode 100644
index b2f46d8..0000000
--- a/ports/sysdeps/alpha/ffsll.S
+++ /dev/null
@@ -1 +0,0 @@
-/* This function is defined in ffs.S. */
diff --git a/ports/sysdeps/alpha/fpu/Versions b/ports/sysdeps/alpha/fpu/Versions
deleted file mode 100644
index c9b0e03..0000000
--- a/ports/sysdeps/alpha/fpu/Versions
+++ /dev/null
@@ -1,23 +0,0 @@
-libc {
- GLIBC_2.0 {
- # functions used in other libraries
- __ieee_get_fp_control; __ieee_set_fp_control;
- }
-}
-libm {
- GLIBC_2.3.4 {
- # functions implementing old complex float abi
- __c1_cabsf; __c1_cacosf; __c1_cacoshf; __c1_cargf; __c1_casinf;
- __c1_casinhf; __c1_catanf; __c1_catanhf; __c1_ccosf; __c1_ccoshf;
- __c1_cexpf; __c1_cimagf; __c1_clog10f; __c1_clogf; __c1_conjf;
- __c1_cpowf; __c1_cprojf; __c1_crealf; __c1_csinf; __c1_csinhf;
- __c1_csqrtf; __c1_ctanf; __c1_ctanhf;
-
- # functions implementing new complex float abi
- cabsf; cacosf; cacoshf; cargf; casinf;
- casinhf; catanf; catanhf; ccosf; ccoshf;
- cexpf; cimagf; clog10f; clogf; conjf;
- cpowf; cprojf; crealf; csinf; csinhf;
- csqrtf; ctanf; ctanhf;
- }
-}
diff --git a/ports/sysdeps/alpha/fpu/bits/fenv.h b/ports/sysdeps/alpha/fpu/bits/fenv.h
deleted file mode 100644
index 4dba9b5..0000000
--- a/ports/sysdeps/alpha/fpu/bits/fenv.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define the bits representing the exception.
-
- Note that these are the bit positions as defined by the OSF/1
- ieee_{get,set}_control_word interface and not by the hardware fpcr.
-
- See the Alpha Architecture Handbook section 4.7.7.3 for details,
- but in summary, trap shadows mean the hardware register can acquire
- extra exception bits so for proper IEEE support the tracking has to
- be done in software -- in this case with kernel support.
-
- As to why the system call interface isn't in the same format as
- the hardware register, only those crazy folks at DEC can tell you. */
-
-enum
- {
-#ifdef __USE_GNU
- FE_DENORMAL =
-#define FE_DENORMAL (1 << 22)
- FE_DENORMAL,
-#endif
-
- FE_INEXACT =
-#define FE_INEXACT (1 << 21)
- FE_INEXACT,
-
- FE_UNDERFLOW =
-#define FE_UNDERFLOW (1 << 20)
- FE_UNDERFLOW,
-
- FE_OVERFLOW =
-#define FE_OVERFLOW (1 << 19)
- FE_OVERFLOW,
-
- FE_DIVBYZERO =
-#define FE_DIVBYZERO (1 << 18)
- FE_DIVBYZERO,
-
- FE_INVALID =
-#define FE_INVALID (1 << 17)
- FE_INVALID,
-
- FE_ALL_EXCEPT =
-#define FE_ALL_EXCEPT (0x3f << 17)
- FE_ALL_EXCEPT
- };
-
-/* Alpha chips support all four defined rouding modes.
-
- Note that code must be compiled to use dynamic rounding (/d) instructions
- to see these changes. For gcc this is -mfp-rounding-mode=d; for DEC cc
- this is -fprm d. The default for both is static rounding to nearest.
-
- These are shifted down 58 bits from the hardware fpcr because the
- functions are declared to take integers. */
-
-enum
- {
- FE_TOWARDZERO =
-#define FE_TOWARDZERO 0
- FE_TOWARDZERO,
-
- FE_DOWNWARD =
-#define FE_DOWNWARD 1
- FE_DOWNWARD,
-
- FE_TONEAREST =
-#define FE_TONEAREST 2
- FE_TONEAREST,
-
- FE_UPWARD =
-#define FE_UPWARD 3
- FE_UPWARD,
- };
-
-#ifdef __USE_GNU
-/* On later hardware, and later kernels for earlier hardware, we can forcibly
- underflow denormal inputs and outputs. This can speed up certain programs
- significantly, usually without affecting accuracy. */
-enum
- {
- FE_MAP_DMZ = 1UL << 12, /* Map denorm inputs to zero */
-#define FE_MAP_DMZ FE_MAP_DMZ
-
- FE_MAP_UMZ = 1UL << 13, /* Map underflowed outputs to zero */
-#define FE_MAP_UMZ FE_MAP_UMZ
- };
-#endif
-
-/* Type representing exception flags. */
-typedef unsigned long int fexcept_t;
-
-/* Type representing floating-point environment. */
-typedef unsigned long int fenv_t;
-
-/* If the default argument is used we use this value. Note that due to
- architecture-specified page mappings, no user-space pointer will ever
- have its two high bits set. Co-opt one. */
-#define FE_DFL_ENV ((const fenv_t *) 0x8800000000000000UL)
-
-#ifdef __USE_GNU
-/* Floating-point environment where none of the exceptions are masked. */
-# define FE_NOMASK_ENV ((const fenv_t *) 0x880000000000003eUL)
-
-/* Floating-point environment with (processor-dependent) non-IEEE floating
- point. In this case, mapping denormals to zero. */
-# define FE_NONIEEE_ENV ((const fenv_t *) 0x8800000000003000UL)
-#endif
-
-/* The system calls to talk to the kernel's FP code. */
-extern unsigned long int __ieee_get_fp_control (void) __THROW;
-extern void __ieee_set_fp_control (unsigned long int __value) __THROW;
diff --git a/ports/sysdeps/alpha/fpu/bits/mathinline.h b/ports/sysdeps/alpha/fpu/bits/mathinline.h
deleted file mode 100644
index 3d64b56..0000000
--- a/ports/sysdeps/alpha/fpu/bits/mathinline.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Inline math functions for Alpha.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger-Tang.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MATH_H
-# error "Never use <bits/mathinline.h> directly; include <math.h> instead."
-#endif
-
-#ifndef __extern_inline
-# define __MATH_INLINE __inline
-#else
-# define __MATH_INLINE __extern_inline
-#endif
-
-#if defined __USE_ISOC99 && defined __GNUC__ && !__GNUC_PREREQ(3,0)
-# undef isgreater
-# undef isgreaterequal
-# undef isless
-# undef islessequal
-# undef islessgreater
-# undef isunordered
-# define isunordered(u, v) \
- (__extension__ \
- ({ double __r, __u = (u), __v = (v); \
- __asm ("cmptun/su %1,%2,%0\n\ttrapb" \
- : "=&f" (__r) : "f" (__u), "f"(__v)); \
- __r != 0; }))
-#endif /* ISO C99 */
-
-#if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \
- && defined __OPTIMIZE__
-
-#if !__GNUC_PREREQ (4, 0)
-# define __inline_copysign(NAME, TYPE) \
-__MATH_INLINE TYPE \
-__NTH (NAME (TYPE __x, TYPE __y)) \
-{ \
- TYPE __z; \
- __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x)); \
- return __z; \
-}
-
-__inline_copysign (__copysignf, float)
-__inline_copysign (copysignf, float)
-__inline_copysign (__copysign, double)
-__inline_copysign (copysign, double)
-
-# undef __inline_copysign
-#endif
-
-
-#if !__GNUC_PREREQ (2, 8)
-# define __inline_fabs(NAME, TYPE) \
-__MATH_INLINE TYPE \
-__NTH (NAME (TYPE __x)) \
-{ \
- TYPE __z; \
- __asm ("cpys $f31, %1, %0" : "=f" (__z) : "f" (__x)); \
- return __z; \
-}
-
-__inline_fabs (__fabsf, float)
-__inline_fabs (fabsf, float)
-__inline_fabs (__fabs, double)
-__inline_fabs (fabs, double)
-
-# undef __inline_fabs
-#endif
-
-#ifdef __USE_ISOC99
-
-/* Test for negative number. Used in the signbit() macro. */
-__MATH_INLINE int
-__NTH (__signbitf (float __x))
-{
-#if !__GNUC_PREREQ (4, 0)
- __extension__ union { float __f; int __i; } __u = { __f: __x };
- return __u.__i < 0;
-#else
- return __builtin_signbitf (__x);
-#endif
-}
-
-__MATH_INLINE int
-__NTH (__signbit (double __x))
-{
-#if !__GNUC_PREREQ (4, 0)
- __extension__ union { double __d; long __i; } __u = { __d: __x };
- return __u.__i < 0;
-#else
- return __builtin_signbit (__x);
-#endif
-}
-
-__MATH_INLINE int
-__NTH (__signbitl (long double __x))
-{
-#if !__GNUC_PREREQ (4, 0)
- __extension__ union {
- long double __d;
- long __i[sizeof(long double)/sizeof(long)];
- } __u = { __d: __x };
- return __u.__i[sizeof(long double)/sizeof(long) - 1] < 0;
-#else
- return __builtin_signbitl (__x);
-#endif
-}
-
-/* Test for NaN. Used in the isnan() macro. */
-
-__MATH_INLINE int
-__NTH (__isnanf (float __x))
-{
- return isunordered (__x, __x);
-}
-
-__MATH_INLINE int
-__NTH (__isnan (double __x))
-{
- return isunordered (__x, __x);
-}
-
-#ifndef __NO_LONG_DOUBLE_MATH
-__MATH_INLINE int
-__NTH (__isnanl (long double __x))
-{
- return isunordered (__x, __x);
-}
-#endif
-
-#endif /* C99 */
-
-#endif /* __NO_MATH_INLINES */
diff --git a/ports/sysdeps/alpha/fpu/cabsf.c b/ports/sysdeps/alpha/fpu/cabsf.c
deleted file mode 100644
index 6526526..0000000
--- a/ports/sysdeps/alpha/fpu/cabsf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Return the complex absolute value of float complex value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cabsf __cabsf_not_defined
-#define cabsf cabsf_not_defined
-
-#include <complex.h>
-#include <math.h>
-#include "cfloat-compat.h"
-
-#undef __cabsf
-#undef cabsf
-
-float
-__c1_cabsf (c1_cfloat_decl (z))
-{
- return __hypotf (c1_cfloat_real (z), c1_cfloat_imag (z));
-}
-
-float
-__c2_cabsf (c2_cfloat_decl (z))
-{
- return __hypotf (c2_cfloat_real (z), c2_cfloat_imag (z));
-}
-
-cfloat_versions (cabsf);
diff --git a/ports/sysdeps/alpha/fpu/cargf.c b/ports/sysdeps/alpha/fpu/cargf.c
deleted file mode 100644
index 46a67ce..0000000
--- a/ports/sysdeps/alpha/fpu/cargf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Compute argument of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cargf __cargf_not_defined
-#define cargf cargf_not_defined
-
-#include <complex.h>
-#include <math.h>
-#include "cfloat-compat.h"
-
-#undef __cargf
-#undef cargf
-
-float
-__c1_cargf (c1_cfloat_decl (x))
-{
- return __atan2f (c1_cfloat_imag (x), c1_cfloat_real (x));
-}
-
-float
-__c2_cargf (c2_cfloat_decl (x))
-{
- return __atan2f (c2_cfloat_imag (x), c2_cfloat_real (x));
-}
-
-cfloat_versions (cargf);
diff --git a/ports/sysdeps/alpha/fpu/cfloat-compat.h b/ports/sysdeps/alpha/fpu/cfloat-compat.h
deleted file mode 100644
index b94dec0..0000000
--- a/ports/sysdeps/alpha/fpu/cfloat-compat.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Compatibility macros for old and new Alpha complex float ABI.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* The behaviour of complex float changed between GCC 3.3 and 3.4.
-
- In 3.3 and before (below, complex version 1, or "c1"), complex float
- values were packed into one floating point register.
-
- In 3.4 and later (below, complex version 2, or "c2"), GCC changed to
- follow the official Tru64 ABI, which passes the components of a complex
- as separate parameters. */
-
-typedef union { double d; _Complex float cf; } c1_compat;
-# define c1_cfloat_decl(x) double x
-# define c1_cfloat_real(x) __real__ c1_cfloat_value (x)
-# define c1_cfloat_imag(x) __imag__ c1_cfloat_value (x)
-# define c1_cfloat_value(x) (((c1_compat *)(void *)&x)->cf)
-# define c1_cfloat_rettype double
-# define c1_cfloat_return(x) ({ c1_compat _; _.cf = (x); _.d; })
-
-# define c2_cfloat_decl(x) _Complex float x
-# define c2_cfloat_real(x) __real__ x
-# define c2_cfloat_imag(x) __imag__ x
-# define c2_cfloat_value(x) x
-# define c2_cfloat_rettype _Complex float
-# define c2_cfloat_return(x) x
-
-/* Get the proper symbol versions defined for each function. */
-
-#include <shlib-compat.h>
-
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_4)
-#define cfloat_versions_compat(func) \
- compat_symbol (libm, __c1_##func, func, GLIBC_2_1)
-#else
-#define cfloat_versions_compat(func)
-#endif
-
-#define cfloat_versions(func) \
- cfloat_versions_compat(func); \
- versioned_symbol (libm, __c2_##func, func, GLIBC_2_3_4); \
- extern typeof(__c2_##func) __##func attribute_hidden; \
- strong_alias (__c2_##func, __##func)
diff --git a/ports/sysdeps/alpha/fpu/cimagf.c b/ports/sysdeps/alpha/fpu/cimagf.c
deleted file mode 100644
index 576a105..0000000
--- a/ports/sysdeps/alpha/fpu/cimagf.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Return imaginary part of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cimagf __cimagf_not_defined
-#define cimagf cimagf_not_defined
-
-#include <complex.h>
-#include "cfloat-compat.h"
-
-#undef __cimagf
-#undef cimagf
-
-float
-__c1_cimagf (c1_cfloat_decl (z))
-{
- return c1_cfloat_imag (z);
-}
-
-float
-__c2_cimagf (c2_cfloat_decl (z))
-{
- return c2_cfloat_imag (z);
-}
-
-cfloat_versions (cimagf);
diff --git a/ports/sysdeps/alpha/fpu/conjf.c b/ports/sysdeps/alpha/fpu/conjf.c
deleted file mode 100644
index 64b3adf..0000000
--- a/ports/sysdeps/alpha/fpu/conjf.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Return complex conjugate of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __conjf __conjf_not_defined
-#define conjf conjf_not_defined
-
-#include <complex.h>
-#include "cfloat-compat.h"
-
-#undef __conjf
-#undef conjf
-
-c1_cfloat_rettype
-__c1_conjf (c1_cfloat_decl (z))
-{
- _Complex float r = ~ c1_cfloat_value (z);
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_conjf (c2_cfloat_decl (z))
-{
- _Complex float r = ~ c2_cfloat_value (z);
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (conjf);
diff --git a/ports/sysdeps/alpha/fpu/crealf.c b/ports/sysdeps/alpha/fpu/crealf.c
deleted file mode 100644
index bd56cae..0000000
--- a/ports/sysdeps/alpha/fpu/crealf.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Return real part of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __crealf __crealf_not_defined
-#define crealf crealf_not_defined
-
-#include <complex.h>
-#include "cfloat-compat.h"
-
-#undef __crealf
-#undef crealf
-
-float
-__c1_crealf (c1_cfloat_decl (z))
-{
- return c1_cfloat_real (z);
-}
-
-float
-__c2_crealf (c2_cfloat_decl (z))
-{
- return c2_cfloat_real (z);
-}
-
-cfloat_versions (crealf);
diff --git a/ports/sysdeps/alpha/fpu/e_sqrt.c b/ports/sysdeps/alpha/fpu/e_sqrt.c
deleted file mode 100644
index 0862159..0000000
--- a/ports/sysdeps/alpha/fpu/e_sqrt.c
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_private.h>
-#include <shlib-compat.h>
-
-#if !defined(_IEEE_FP_INEXACT)
-
-/*
- * This version is much faster than generic sqrt implementation, but
- * it doesn't handle the inexact flag. It doesn't handle exceptional
- * values either, but will defer to the full ieee754_sqrt routine which
- * can.
- */
-
-/* Careful with rearranging this without consulting the assembly below. */
-const static struct sqrt_data_struct {
- unsigned long dn, up, half, almost_three_half;
- unsigned long one_and_a_half, two_to_minus_30, one, nan;
- const int T2[64];
-} sqrt_data __attribute__((used)) = {
- 0x3fefffffffffffff, /* __dn = nextafter(1,-Inf) */
- 0x3ff0000000000001, /* __up = nextafter(1,+Inf) */
- 0x3fe0000000000000, /* half */
- 0x3ff7ffffffc00000, /* almost_three_half = 1.5-2^-30 */
- 0x3ff8000000000000, /* one_and_a_half */
- 0x3e10000000000000, /* two_to_minus_30 */
- 0x3ff0000000000000, /* one */
- 0xffffffffffffffff, /* nan */
-
- { 0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866,
- 0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f,
- 0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d,
- 0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0,
- 0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989,
- 0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd,
- 0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e,
- 0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd }
-};
-
-asm ("\
- /* Define offsets into the structure defined in C above. */ \n\
- $DN = 0*8 \n\
- $UP = 1*8 \n\
- $HALF = 2*8 \n\
- $ALMOST_THREE_HALF = 3*8 \n\
- $NAN = 7*8 \n\
- $T2 = 8*8 \n\
- \n\
- /* Stack variables. */ \n\
- $K = 0 \n\
- $Y = 8 \n\
- \n\
- .text \n\
- .align 5 \n\
- .globl __ieee754_sqrt \n\
- .ent __ieee754_sqrt \n\
-__ieee754_sqrt: \n\
- ldgp $29, 0($27) \n\
- subq $sp, 16, $sp \n\
- .frame $sp, 16, $26, 0\n"
-#ifdef PROF
-" lda $28, _mcount \n\
- jsr $28, ($28), _mcount\n"
-#endif
-" .prologue 1 \n\
- \n\
- .align 4 \n\
- stt $f16, $K($sp) # e0 : \n\
- mult $f31, $f31, $f31 # .. fm : \n\
- lda $4, sqrt_data # e0 : \n\
- fblt $f16, $fixup # .. fa : \n\
- \n\
- ldah $2, 0x5fe8 # e0 : \n\
- ldq $3, $K($sp) # .. e1 : \n\
- ldt $f12, $HALF($4) # e0 : \n\
- ldt $f18, $ALMOST_THREE_HALF($4) # .. e1 : \n\
- \n\
- sll $3, 52, $5 # e0 : \n\
- lda $6, 0x7fd # .. e1 : \n\
- fnop # .. fa : \n\
- fnop # .. fm : \n\
- \n\
- subq $5, 1, $5 # e1 : \n\
- srl $3, 33, $1 # .. e0 : \n\
- cmpule $5, $6, $5 # e0 : \n\
- beq $5, $fixup # .. e1 : \n\
- \n\
- mult $f16, $f12, $f11 # fm : $f11 = x * 0.5 \n\
- subl $2, $1, $2 # .. e0 : \n\
- addt $f12, $f12, $f17 # .. fa : $f17 = 1.0 \n\
- srl $2, 12, $1 # e0 : \n\
- \n\
- and $1, 0xfc, $1 # e0 : \n\
- addq $1, $4, $1 # e1 : \n\
- ldl $1, $T2($1) # e0 : \n\
- addt $f12, $f17, $f15 # .. fa : $f15 = 1.5 \n\
- \n\
- subl $2, $1, $2 # e0 : \n\
- ldt $f14, $DN($4) # .. e1 : \n\
- sll $2, 32, $2 # e0 : \n\
- stq $2, $Y($sp) # e0 : \n\
- \n\
- ldt $f13, $Y($sp) # e0 : \n\
- mult/su $f11, $f13, $f10 # fm 2: $f10 = (x * 0.5) * y \n\
- mult $f10, $f13, $f10 # fm 4: $f10 = ((x*0.5)*y)*y \n\
- subt $f15, $f10, $f1 # fa 4: $f1 = (1.5-0.5*x*y*y) \n\
- \n\
- mult $f13, $f1, $f13 # fm 4: yp = y*(1.5-0.5*x*y^2)\n\
- mult/su $f11, $f13, $f1 # fm 4: $f11 = x * 0.5 * yp \n\
- mult $f1, $f13, $f11 # fm 4: $f11 = (x*0.5*yp)*yp \n\
- subt $f18, $f11, $f1 # fa 4: $f1=(1.5-2^-30)-x/2*yp^2\n\
- \n\
- mult $f13, $f1, $f13 # fm 4: ypp = $f13 = yp*$f1 \n\
- subt $f15, $f12, $f1 # .. fa : $f1 = (1.5 - 0.5) \n\
- ldt $f15, $UP($4) # .. e0 : \n\
- mult/su $f16, $f13, $f10 # fm 4: z = $f10 = x * ypp \n\
- \n\
- mult $f10, $f13, $f11 # fm 4: $f11 = z*ypp \n\
- mult $f10, $f12, $f12 # fm : $f12 = z*0.5 \n\
- subt $f1, $f11, $f1 # fa 4: $f1 = 1 - z*ypp \n\
- mult $f12, $f1, $f12 # fm 4: $f12 = z/2*(1 - z*ypp)\n\
- \n\
- addt $f10, $f12, $f0 # fa 4: zp=res= z+z/2*(1-z*ypp)\n\
- mult/c $f0, $f14, $f12 # fm 4: zmi = zp * DN \n\
- mult/c $f0, $f15, $f11 # fm : zpl = zp * UP \n\
- mult/c $f0, $f12, $f1 # fm : $f1 = zp * zmi \n\
- \n\
- mult/c $f0, $f11, $f15 # fm : $f15 = zp * zpl \n\
- subt/su $f1, $f16, $f13 # .. fa : y1 = zp*zmi - x \n\
- subt/su $f15, $f16, $f14 # fa 4: y2 = zp*zpl - x \n\
- fcmovge $f13, $f12, $f0 # fa 3: res = (y1>=0)?zmi:res \n\
- \n\
- fcmovlt $f14, $f11, $f0 # fa 4: res = (y2<0)?zpl:res \n\
- addq $sp, 16, $sp # .. e0 : \n\
- ret # .. e1 : \n\
- \n\
- .align 4 \n\
-$fixup: \n\
- addq $sp, 16, $sp \n\
- br __full_ieee754_sqrt !samegp \n\
- \n\
- .end __ieee754_sqrt");
-
-/* Avoid the __sqrt_finite alias that dbl-64/e_sqrt.c would give... */
-#undef strong_alias
-#define strong_alias(a,b)
-
-/* ... defining our own. */
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-asm (".global __sqrt_finite1; __sqrt_finite1 = __ieee754_sqrt");
-#else
-asm (".global __sqrt_finite; __sqrt_finite = __ieee754_sqrt");
-#endif
-
-static double __full_ieee754_sqrt(double) __attribute_used__;
-#define __ieee754_sqrt __full_ieee754_sqrt
-
-#elif SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-# define __sqrt_finite __sqrt_finite1
-#endif /* _IEEE_FP_INEXACT */
-
-#include <sysdeps/ieee754/dbl-64/e_sqrt.c>
-
-/* Work around forgotten symbol in alphaev6 build. */
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-# undef __sqrt_finite
-# undef __ieee754_sqrt
-compat_symbol (libm, __sqrt_finite1, __sqrt_finite, GLIBC_2_15);
-versioned_symbol (libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/e_sqrtf.c b/ports/sysdeps/alpha/fpu/e_sqrtf.c
deleted file mode 100644
index ad523f5..0000000
--- a/ports/sysdeps/alpha/fpu/e_sqrtf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <shlib-compat.h>
-
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-# define __sqrtf_finite __sqrtf_finite1
-#endif
-
-#include <sysdeps/ieee754/flt-32/e_sqrtf.c>
-
-/* Work around forgotten symbol in alphaev6 build. */
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-# undef __sqrtf_finite
-compat_symbol (libm, __sqrtf_finite1, __sqrtf_finite, GLIBC_2_15);
-versioned_symbol (libm, __ieee754_sqrtf, __sqrtf_finite, GLIBC_2_18);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/fclrexcpt.c b/ports/sysdeps/alpha/fpu/fclrexcpt.c
deleted file mode 100644
index 99bdbdf..0000000
--- a/ports/sysdeps/alpha/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__feclearexcept (int excepts)
-{
- unsigned long int swcr;
-
- /* Get the current state. */
- swcr = __ieee_get_fp_control ();
-
- /* Clear the relevant bits. */
- swcr &= ~((unsigned long int) excepts & SWCR_STATUS_MASK);
-
- /* Put the new state in effect. */
- __ieee_set_fp_control (swcr);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feclearexcept, feclearexcept)
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/ports/sysdeps/alpha/fpu/fedisblxcpt.c b/ports/sysdeps/alpha/fpu/fedisblxcpt.c
deleted file mode 100644
index e7612a4..0000000
--- a/ports/sysdeps/alpha/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Disable floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fedisableexcept (int excepts)
-{
- unsigned long int new_exc, old_exc;
-
- new_exc = __ieee_get_fp_control ();
-
- old_exc = (new_exc & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT;
- new_exc &= ~((excepts >> SWCR_ENABLE_SHIFT) & SWCR_ENABLE_MASK);
-
- __ieee_set_fp_control (new_exc);
-
- return old_exc;
-}
diff --git a/ports/sysdeps/alpha/fpu/feenablxcpt.c b/ports/sysdeps/alpha/fpu/feenablxcpt.c
deleted file mode 100644
index f9eb203..0000000
--- a/ports/sysdeps/alpha/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Enable floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-feenableexcept (int excepts)
-{
- unsigned long int new_exc, old_exc;
-
- new_exc = __ieee_get_fp_control ();
-
- old_exc = (new_exc & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT;
- new_exc |= (excepts >> SWCR_ENABLE_SHIFT) & SWCR_ENABLE_MASK;
-
- __ieee_set_fp_control (new_exc);
-
- return old_exc;
-}
diff --git a/ports/sysdeps/alpha/fpu/fegetenv.c b/ports/sysdeps/alpha/fpu/fegetenv.c
deleted file mode 100644
index ef688f2..0000000
--- a/ports/sysdeps/alpha/fpu/fegetenv.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Store current floating-point environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
- unsigned long int fpcr;
- unsigned long int swcr;
-
- /* Get status from software and hardware. Note that we don't need an
- excb because the callsys is an implied trap barrier. */
- swcr = __ieee_get_fp_control ();
- __asm__ __volatile__ ("mf_fpcr %0" : "=f" (fpcr));
-
- /* Merge the two bits of information. */
- *envp = ((fpcr & FPCR_ROUND_MASK) | (swcr & SWCR_ALL_MASK));
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, __old_fegetenv, fegetenv, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetenv, fegetenv, GLIBC_2_2);
-libm_hidden_ver(__fegetenv, fegetenv)
diff --git a/ports/sysdeps/alpha/fpu/fegetexcept.c b/ports/sysdeps/alpha/fpu/fegetexcept.c
deleted file mode 100644
index e4d4f83..0000000
--- a/ports/sysdeps/alpha/fpu/fegetexcept.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Get enabled floating-point exceptions.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2000.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fegetexcept (void)
-{
- unsigned long int exc;
-
- exc = __ieee_get_fp_control ();
-
- return (exc & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT;
-}
diff --git a/ports/sysdeps/alpha/fpu/fegetround.c b/ports/sysdeps/alpha/fpu/fegetround.c
deleted file mode 100644
index e2d1911..0000000
--- a/ports/sysdeps/alpha/fpu/fegetround.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Return current rounding direction.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fegetround (void)
-{
- unsigned long fpcr;
-
- __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(fpcr));
-
- return (fpcr >> FPCR_ROUND_SHIFT) & 3;
-}
-libm_hidden_def (fegetround)
diff --git a/ports/sysdeps/alpha/fpu/feholdexcpt.c b/ports/sysdeps/alpha/fpu/feholdexcpt.c
deleted file mode 100644
index 30758b7..0000000
--- a/ports/sysdeps/alpha/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-feholdexcept (fenv_t *envp)
-{
- /* Save the current state. */
- fegetenv(envp);
-
- /* Clear all exception status bits and exception enable bits. */
- __ieee_set_fp_control(*envp & SWCR_MAP_MASK);
-
- return 0;
-}
-libm_hidden_def (feholdexcept)
diff --git a/ports/sysdeps/alpha/fpu/fenv_libc.h b/ports/sysdeps/alpha/fpu/fenv_libc.h
deleted file mode 100644
index 9c36785..0000000
--- a/ports/sysdeps/alpha/fpu/fenv_libc.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Internal libc stuff for floating point environment routines.
- Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FENV_LIBC_H
-#define _FENV_LIBC_H 1
-
-#include <fenv.h>
-
-#define FPCR_ROUND_MASK (3UL << 58)
-#define FPCR_ROUND_SHIFT 58
-
-#define SWCR_MAP_MASK (3UL << 12)
-#define SWCR_ENABLE_SHIFT 16
-#define SWCR_ENABLE_MASK (FE_ALL_EXCEPT >> SWCR_ENABLE_SHIFT)
-#define SWCR_STATUS_MASK (FE_ALL_EXCEPT)
-#define SWCR_ALL_MASK (SWCR_ENABLE_MASK \
- | SWCR_MAP_MASK \
- | SWCR_STATUS_MASK)
-
-/* These are declared for public consumption in <bits/fenv.h>. */
-libc_hidden_proto(__ieee_set_fp_control)
-libc_hidden_proto(__ieee_get_fp_control)
-
-#endif /* fenv_libc.h */
diff --git a/ports/sysdeps/alpha/fpu/fesetenv.c b/ports/sysdeps/alpha/fpu/fesetenv.c
deleted file mode 100644
index e903de9..0000000
--- a/ports/sysdeps/alpha/fpu/fesetenv.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Install given floating-point environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
- unsigned long int fpcr;
- fenv_t env;
-
- /* Magic encoding of default values: high bit set (never possible for a
- user-space address) is not indirect. And we don't even have to get
- rid of it since we mask things around just below. */
- if ((long int) envp >= 0)
- env = *envp;
- else
- env = (unsigned long int) envp;
-
- /* Reset the rounding mode with the hardware fpcr. Note that the following
- system call is an implied trap barrier for our modification. */
- __asm__ __volatile__ ("excb; mf_fpcr %0" : "=f" (fpcr));
- fpcr = (fpcr & ~FPCR_ROUND_MASK) | (env & FPCR_ROUND_MASK);
- __asm__ __volatile__ ("mt_fpcr %0" : : "f" (fpcr));
-
- /* Reset the exception status and mask with the kernel's FP code. */
- __ieee_set_fp_control (env & SWCR_ALL_MASK);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2);
diff --git a/ports/sysdeps/alpha/fpu/fesetround.c b/ports/sysdeps/alpha/fpu/fesetround.c
deleted file mode 100644
index b5b41ce..0000000
--- a/ports/sysdeps/alpha/fpu/fesetround.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Set current rounding direction.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fesetround (int round)
-{
- unsigned long fpcr;
-
- if (round & ~3)
- return 1;
-
- /* Get the current state. */
- __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(fpcr));
-
- /* Set the relevant bits. */
- fpcr = ((fpcr & ~FPCR_ROUND_MASK)
- | ((unsigned long)round << FPCR_ROUND_SHIFT));
-
- /* Put the new state in effect. */
- __asm__ __volatile__("mt_fpcr %0; excb" : : "f"(fpcr));
-
- return 0;
-}
-libm_hidden_def (fesetround)
diff --git a/ports/sysdeps/alpha/fpu/feupdateenv.c b/ports/sysdeps/alpha/fpu/feupdateenv.c
deleted file mode 100644
index af1f630..0000000
--- a/ports/sysdeps/alpha/fpu/feupdateenv.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Install given floating-point environment and raise exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- unsigned long int tmp;
-
- /* Get the current exception state. */
- tmp = __ieee_get_fp_control ();
-
- /* Install new environment. */
- fesetenv (envp);
-
- /* Raise the saved exception. Incidently for us the implementation
- defined format of the values in objects of type fexcept_t is the
- same as the ones specified using the FE_* constants. */
- feraiseexcept (tmp & SWCR_STATUS_MASK);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, __old_feupdateenv, feupdateenv, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feupdateenv, feupdateenv)
-versioned_symbol (libm, __feupdateenv, feupdateenv, GLIBC_2_2);
diff --git a/ports/sysdeps/alpha/fpu/fgetexcptflg.c b/ports/sysdeps/alpha/fpu/fgetexcptflg.c
deleted file mode 100644
index 8cad9b2..0000000
--- a/ports/sysdeps/alpha/fpu/fgetexcptflg.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Store current representation for exceptions.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- unsigned long int tmp;
-
- /* Get the current state. */
- tmp = __ieee_get_fp_control();
-
- /* Return that portion that corresponds to the requested exceptions. */
- *flagp = tmp & excepts & SWCR_STATUS_MASK;
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, __old_fegetexceptflag, fegetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fegetexceptflag, fegetexceptflag, GLIBC_2_2);
diff --git a/ports/sysdeps/alpha/fpu/fpu_control.h b/ports/sysdeps/alpha/fpu/fpu_control.h
deleted file mode 100644
index b271c93..0000000
--- a/ports/sysdeps/alpha/fpu/fpu_control.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* FPU control word bits. Alpha-mapped-to-Intel version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Olaf Flebbe.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _ALPHA_FPU_CONTROL_H
-#define _ALPHA_FPU_CONTROL_H
-
-/*
- * Since many programs seem to hardcode the values passed to __setfpucw()
- * (rather than using the manifest constants) we emulate the x87 interface
- * here (at least where this makes sense).
- *
- * 15-13 12 11-10 9-8 7-6 5 4 3 2 1 0
- * | reserved | IC | RC | PC | reserved | PM | UM | OM | ZM | DM | IM
- *
- * IM: Invalid operation mask
- * DM: Denormalized operand mask
- * ZM: Zero-divide mask
- * OM: Overflow mask
- * UM: Underflow mask
- * PM: Precision (inexact result) mask
- *
- * Mask bit is 1 means no interrupt.
- *
- * PC: Precision control
- * 11 - round to extended precision
- * 10 - round to double precision
- * 00 - round to single precision
- *
- * RC: Rounding control
- * 00 - rounding to nearest
- * 01 - rounding down (toward - infinity)
- * 10 - rounding up (toward + infinity)
- * 11 - rounding toward zero
- *
- * IC: Infinity control
- * That is for 8087 and 80287 only.
- *
- * The hardware default is 0x037f. I choose 0x1372.
- */
-
-#include <features.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_IM 0x01
-#define _FPU_MASK_DM 0x02
-#define _FPU_MASK_ZM 0x04
-#define _FPU_MASK_OM 0x08
-#define _FPU_MASK_UM 0x10
-#define _FPU_MASK_PM 0x20
-
-/* precision control -- without effect on Alpha */
-#define _FPU_EXTENDED 0x300 /* RECOMMENDED */
-#define _FPU_DOUBLE 0x200
-#define _FPU_SINGLE 0x0 /* DO NOT USE */
-
-/*
- * rounding control---notice that on the Alpha this affects only
- * instructions with the dynamic rounding mode qualifier (/d).
- */
-#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */
-#define _FPU_RC_DOWN 0x400
-#define _FPU_RC_UP 0x800
-#define _FPU_RC_ZERO 0xC00
-
-#define _FPU_RESERVED 0xF0C0 /* Reserved bits in cw */
-
-
-/* Now two recommended cw */
-
-/* Linux default:
- - extended precision
- - rounding to positive infinity. There is no /p instruction
- qualifier. By setting the dynamic rounding mode to +infinity,
- one can use /d to get round to +infinity with no extra overhead
- (so long as the default isn't changed, of course...)
- - no exceptions enabled. */
-
-#define _FPU_DEFAULT 0x137f
-
-/* IEEE: same as above. */
-#define _FPU_IEEE 0x137f
-
-/* Type of the control word. */
-typedef unsigned int fpu_control_t;
-
-/* Default control word set at startup. */
-extern fpu_control_t __fpu_control;
-
-#endif /* _ALPHA_FPU_CONTROL */
diff --git a/ports/sysdeps/alpha/fpu/fsetexcptflg.c b/ports/sysdeps/alpha/fpu/fsetexcptflg.c
deleted file mode 100644
index 3682008..0000000
--- a/ports/sysdeps/alpha/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Set floating-point environment exception handling.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-__fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
- unsigned long int tmp;
-
- /* Get the current exception state. */
- tmp = __ieee_get_fp_control ();
-
- /* Set all the bits that were called for. */
- tmp = (tmp & ~SWCR_STATUS_MASK) | (*flagp & excepts & SWCR_STATUS_MASK);
-
- /* And store it back. */
- __ieee_set_fp_control (tmp);
-
- /* Success. */
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, __old_fesetexceptflag, fesetexceptflag, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __fesetexceptflag, fesetexceptflag, GLIBC_2_2);
diff --git a/ports/sysdeps/alpha/fpu/ftestexcept.c b/ports/sysdeps/alpha/fpu/ftestexcept.c
deleted file mode 100644
index 521ec1f..0000000
--- a/ports/sysdeps/alpha/fpu/ftestexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test exception in current environment.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1997.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-int
-fetestexcept (int excepts)
-{
- unsigned long tmp;
-
- /* Get current exceptions. */
- tmp = __ieee_get_fp_control();
-
- return tmp & excepts & SWCR_STATUS_MASK;
-}
-libm_hidden_def (fetestexcept)
diff --git a/ports/sysdeps/alpha/fpu/get-rounding-mode.h b/ports/sysdeps/alpha/fpu/get-rounding-mode.h
deleted file mode 100644
index f0c5549..0000000
--- a/ports/sysdeps/alpha/fpu/get-rounding-mode.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Determine floating-point rounding mode within libc. Alpha version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef ALPHA_GET_ROUNDING_MODE_H
-#define ALPHA_GET_ROUNDING_MODE_H 1
-
-#include <fenv.h>
-#include <fenv_libc.h>
-
-/* Return the floating-point rounding mode. */
-
-static inline int
-get_rounding_mode (void)
-{
- unsigned long fpcr;
- __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(fpcr));
- return (fpcr >> FPCR_ROUND_SHIFT) & 3;
-}
-
-#endif /* get-rounding-mode.h */
diff --git a/ports/sysdeps/alpha/fpu/libm-test-ulps b/ports/sysdeps/alpha/fpu/libm-test-ulps
deleted file mode 100644
index 1a59c00..0000000
--- a/ports/sysdeps/alpha/fpu/libm-test-ulps
+++ /dev/null
@@ -1,18715 +0,0 @@
-# Begin of automatic generation
-
-# acos_downward
-Test "acos_downward (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_towardzero
-Test "acos_towardzero (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# acos_upward
-Test "acos_upward (+0)":
-double: 1
-idouble: 1
-Test "acos_upward (-0)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x1p+0)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x4p-1024)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x4p-1076)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x4p-128)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x8p-152)":
-double: 1
-idouble: 1
-Test "acos_upward (-0x8p-972)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef54646d496p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef54646d497p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef54p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x1.70ef56p-56)":
-double: 1
-idouble: 1
-Test "acos_upward (0x4p-1024)":
-double: 1
-idouble: 1
-Test "acos_upward (0x4p-1076)":
-double: 1
-idouble: 1
-Test "acos_upward (0x4p-128)":
-double: 1
-idouble: 1
-Test "acos_upward (0x8p-152)":
-double: 1
-idouble: 1
-Test "acos_upward (0x8p-972)":
-double: 1
-idouble: 1
-
-# acosh
-Test "acosh (0x6.4p+4)":
-double: 1
-idouble: 1
-Test "acosh (0xf.ffffffffffff8p+1020)":
-double: 1
-Test "acosh (0xf.fffffp+124)":
-ldouble: 1
-
-# asin
-Test "asin (-0xf.ffffffffffff8p-4)":
-ildouble: 1
-ldouble: 1
-Test "asin (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-
-# asin_downward
-Test "asin_downward (-0x1p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0x8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.ffffffffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffffffffp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_downward (-0xf.fffffp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "asin_downward (0x8p-4)":
-float: 1
-ifloat: 1
-Test "asin_downward (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# asin_tonearest
-Test "asin_tonearest (-0xf.ffffffffffff8p-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_tonearest (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-
-# asin_towardzero
-Test "asin_towardzero (-0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (-0xf.fffffp-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_towardzero (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# asin_upward
-Test "asin_upward (-0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.ffffffffffff8p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffffffffffffp-4)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffffffffp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (-0xf.fffffp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "asin_upward (0x1p+0)":
-double: 1
-idouble: 1
-Test "asin_upward (0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "asin_upward (0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# asinh
-Test "asinh (-0xf.ffffffffffff8p+1020)":
-double: 1
-Test "asinh (-0xf.fffffp+124)":
-ldouble: 1
-Test "asinh (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "asinh (0x1p+100)":
-ildouble: 1
-ldouble: 1
-Test "asinh (0xap+0)":
-float: 1
-ifloat: 1
-Test "asinh (0xf.ffffffffffff8p+1020)":
-double: 1
-Test "asinh (0xf.fffffp+124)":
-ldouble: 1
-
-# atan2
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac28p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac291p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac292p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1d8p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca4838p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca483cp-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffc0f3eeb1ac3p-8, -0x7.57d1ep-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffcp-8, -0x7.57d1ep-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1d8p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4838p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca483cp-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51246640cc2340ca4ap-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716ffep-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1d8p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852716p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe81f852717p-8, -0x7.57d1de0e5124664p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1d8p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246640cc2340ca48p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51246648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe82p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51244p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x1.effe8p-8, -0x7.57d1de0e51248p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x2p-16384, -0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x4p-16384, -0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x4p-16448, -0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0x8p-16448, -0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0xcp-4, -0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0xf.fffffffffffffffffffffffffff8p+16380, 0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (-0xf.fffffp+124, -0x4p-128)":
-float: 1
-ifloat: 1
-Test "atan2 (-0xf.fffffp+124, -0x8p-152)":
-float: 1
-ifloat: 1
-Test "atan2 (0x1.000002p+0, 0x1.0000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x1.000002p+0, 0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x1.64p+0, 0xe.ep-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x4p-16384, -0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x6.4p-4, 0x1.301648p-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x6.4p-4, 0x1.30164ap-12)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0x8p-16448, -0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0xcp-4, -0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "atan2 (0xf.fffffffffffffffp+16380, 0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "atan2 (0xf.fffffp+124, -0x4p-128)":
-float: 1
-ifloat: 1
-Test "atan2 (0xf.fffffp+124, -0x8p-152)":
-float: 1
-ifloat: 1
-
-# atanh
-Test "atanh (-0xcp-4)":
-float: 1
-ifloat: 1
-Test "atanh (0x1.2345p-20)":
-ildouble: 1
-ldouble: 1
-Test "atanh (0x4p-4)":
-ildouble: 1
-ldouble: 1
-Test "atanh (0xcp-4)":
-float: 1
-ifloat: 1
-
-# cacos
-Test "Imaginary part of: cacos (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (+0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-112 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (-2 - 3 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacos (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacos (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.0000000000001p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.000002p0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacos (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacos (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacos (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacos (1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacos (1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-
-# cacosh
-Test "Real part of: cacosh (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (+0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: cacosh (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.25 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0.5 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-100 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 + 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x0.ffffffp0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-129 - 1.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1.fp-30 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-105 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-112 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-23 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-52 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-63 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-0x1p-63 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 + 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-1.0 - 0x1p50 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (-2 - 3 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + +0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0.5 - 0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 0x1p-63 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffffffffffffffffffffffff8p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.0000000000001p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.000002p0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.000002p0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1.fp-100 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacosh (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x1p-23 + 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: cacosh (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cacosh (0x1p-23 - 0x1.000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (1.0 + 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-Test "Real part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cacosh (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-10 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cacosh (1.0 - 0x1.fp-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cacosh (1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-
-# casin
-Test "Imaginary part of: casin (+0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (+0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0.5 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-23 + 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-23 - 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (-0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (-0x1p-23 - 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (-1.0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.0 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.25 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-105 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-112 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.5 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0.5 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 + 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.fffffffffffff8p0 - 0x1p-52 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-112 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 + 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Real part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x0.ffffffp0 - 0x1p-23 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.000002p0 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-100 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1000 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-10000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-1025 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 + 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-129 - 1.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 + 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-16385 - 1.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp-30 - 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casin (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-105 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-112 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-112 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-23 + 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 + 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 + 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-23 - 0.5 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casin (0x1p-23 - 0x0.ffffffp0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casin (0x1p-23 - 0x1.000002p0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 + 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 + 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-52 - 0.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-52 - 0x1.0000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p-63 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 + 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 + 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 + 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0.25 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 - 0.5 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casin (1.0 - 0x1.fp-129 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casin (1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-
-# casinh
-Test "Imaginary part of: casinh (-0.0 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.25 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.25 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (-0.5 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (-0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (-0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.0000000000001p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.000002p0 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-129 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-112 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-23 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-0x1p-23 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (-0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (-0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (-1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (-1.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.0 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.0 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.0 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.25 + 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.25 - 1.0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (0.5 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0.5 + 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.5 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 + 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-129 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-105 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-112 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 0x1p-23 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: casinh (0.5 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: casinh (0.5 - 0x1p-52 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.5 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0.5 - 0x1p-63 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.5 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: casinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x0.fffffffffffff8p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 + 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffffffffffffcp0 - 0x1p-105 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffffffffffffp0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 + 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x0.ffffffp0 - 0x1p-23 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 + 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000000000000000001p0 - 0x1p-113 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000002p0 + 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000000002p0 - 0x1p-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 + 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 + 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000001p0 + 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 - 0.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.0000000000001p0 - 0x1.fp-1025 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.0000000000001p0 - 0x1p-52 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 + 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.000002p0 - 0x1p-23 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-10 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 + 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-1025 - 0x0.fffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 + 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-129 - 0.5 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (0x1.fp-129 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-16385 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-16385 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1.fp-16385 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-16385 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-30 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp-30 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-105 + 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-105 - 0x0.ffffffffffffffffffffffffffcp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-112 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-112 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-112 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-113 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-113 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-23 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (0x1p-23 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-float: 2
-ifloat: 2
-Test "Imaginary part of: casinh (0x1p-23 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-23 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-52 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-52 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: casinh (0x1p-63 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-63 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-63 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p-63 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p500 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p500 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p5000 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (0x1p5000 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 + 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 + 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 + 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0.25 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 - 0.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-10 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-100 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1000 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-10000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-129 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1.fp-30 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: casinh (1.0 - 0x1.fp-30 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1p500 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.0 - 0x1p5000 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 + 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-1025 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-129 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: casinh (1.5 - 0x1.fp-16385 i)":
-ildouble: 1
-ldouble: 1
-
-# catan
-Test "Imaginary part of: catan (-0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x0.ffffffp0 + 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x0.ffffffp0 - 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (-0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-16380 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-16380 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-0x1p-33 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (-0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (-2 - 3 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: catan (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.fffffffffffff8p0 + 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffffffffffffffffffffffff8p0 + 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x0.ffffffffffffffffffffffffffff8p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x0.ffffffp0 + 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x0.ffffffp0 + 0x1p-13 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x0.ffffffp0 - 0x1p-126 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 + 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-16382 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000000000000000000001p0 - 0x1p-57 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.0000000000001p0 - 0x1p-27 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-126 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1.000002p0 - 0x1p-13 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-1020 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catan (0x1p-1020 - 1.0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catan (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-16380 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-16380 - 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 + 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 + 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 - 0x0.ffffffffffffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (0x1p-33 - 0x1.0000000000000002p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catan (0x1p-54 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-54 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catan (0x1p-57 - 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catan (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catan (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# catanh
-Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x0.ffffffffffffffffp0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1.0000000000000002p0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1.0000000000000002p0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (-0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (-0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-27 + 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1p-27 - 0x1.0000000000001p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (-0x1p-57 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-0x1p-57 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 + 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (-1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (-1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-1.0 - 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x0.ffffffffffffffffp0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1.0000000000000002p0 + 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1.0000000000000002p0 - 0x1p-33 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1.000002p0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1.000002p0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (0x1.fp1023 + 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp1023 - 0x1.fp1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp127 + 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp127 - 0x1.fp127 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1.fp16383 + 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1.fp16383 - 0x1.fp16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x0.ffffffp0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-126 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-13 + 0x0.ffffffp0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-13 + 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 + 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-13 - 0x0.ffffffp0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-13 - 0x1.000002p0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: catanh (0x1p-13 - 1.0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-16382 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-16382 + 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: catanh (0x1p-16382 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-16382 - 0x1.0000000000000000000000000001p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-27 + 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1p-27 - 0x0.fffffffffffff8p0 i)":
-double: 1
-idouble: 1
-Test "Real part of: catanh (0x1p-57 + 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (0x1p-57 - 0x0.ffffffffffffffffffffffffffff8p0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (1.0 + 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 + 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 + 0x1p-57 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (1.0 - 0x1p-13 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: catanh (1.0 - 0x1p-54 i)":
-float: 1
-ifloat: 1
-Test "Real part of: catanh (1.0 - 0x1p-57 i)":
-float: 1
-ifloat: 1
-
-# cbrt
-Test "cbrt (-0x1.bp+4)":
-double: 1
-idouble: 1
-Test "cbrt (-0x4.189374bc6a7ecp-12)":
-ildouble: 1
-ldouble: 1
-Test "cbrt (-0x4.189374bc6a7ef9ep-12)":
-ildouble: 1
-ldouble: 1
-Test "cbrt (-0x4.18937p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cbrt (0xcp-4)":
-double: 1
-idouble: 1
-Test "cbrt (0xf.ep-4)":
-double: 1
-idouble: 1
-
-# ccos
-Test "Real part of: ccos (-0x2p+0 - 0x3p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 + 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 + 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 - 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-Test "Real part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (-0xcp-4 - 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0x1p-120 + 0x8p-32 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0x4p-1076 + 0x5.ap+8 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccos (0x4p-16436 + 0x5.8cap+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0x8p-32 + 0x1p-120 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-Test "Real part of: ccos (0xcp-4 + 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 + 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0xcp-4 - 0x2.c5d4p+12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 - 0x2.c68p+8 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccos (0xcp-4 - 0x5.98p+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccos (0xcp-4 - 0x5.98p+4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# ccosh
-Test "Imaginary part of: ccosh (-0x2.c5d4p+12 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x2.c5d4p+12 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x2.c68p+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (-0x2.c68p+8 - 0xcp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x5.98p+4 + 0xcp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (-0x5.98p+4 - 0xcp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c5d4p+12 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c5d4p+12 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c68p+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x2.c68p+8 - 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ccosh (0x5.8cap+12 + 0x4p-16436 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x5.98p+4 + 0xcp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ccosh (0x5.98p+4 - 0xcp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0x5.ap+8 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-
-# cexp
-Test "Imaginary part of: cexp (+0 + 0x2.1e19e0c9bab24p+72 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (+0 + 0x2p+64 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (+0 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.71p+12 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2.dp+8 + 0xcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (-0x5.fp+4 + 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (0x1.f4p+8 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (0x1.f4p+8 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (0x2.c5dp+8 + 0xcp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0x3.2p+4 + 0x8p+124 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (0x3.2p+4 + 0x8p+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: cexp (0x5.8cap+12 + 0x4p-16436 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (0x5.8cp+4 + 0xcp-4 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: cexp (0x5.ap+8 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: cexp (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cexp (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-
-# clog
-Test "Real part of: clog (+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 + 0x8p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (+0 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d1598p-32 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x4.8d159ep-32 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.0000000123456p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.000002p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d1598p-32 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d159ep-32 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x4.8d15ap-32 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog (-0x1.000002p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x1.234566p-40 - 0x1p+0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x4p-1076 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-1076 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16496 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x4p-16496 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x8p-152 + 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x8p-152 + 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-152 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (-0x8p-152 + 0xf.fffffp+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-152 - 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (-0x8p-152 - 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-152 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (-0x8p-152 - 0xf.fffffp+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0x8p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0x8p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+124 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0xf.8p+124 - 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (-0xf.8p+16380 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (-0xf.8p+16380 - 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + +0 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234566p-60 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.23456789p-60 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x1.234568p-60 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.0000000000001p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.000002p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x1.234566p-60 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x1.23456789p-60 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x1.234568p-60 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.000002p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x1.000566p+0 + 0x4.8dp-12 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c63p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.48e45e3268d8p-4 + 0xf.f2c64p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c63p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.48e45ep-4 + 0xf.f2c64p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed199p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7c0beb59f6acp-4 + 0xf.ed19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7cp-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bdfbf6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4e7ep-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd4p-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf672a9da76bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bc3694fd5p-4 + 0xf.ed199p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdf8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bcp-4 + 0xf.ed1990460bep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.8907bcp-4 + 0xf.ed199p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.8907bep-4 + 0xf.ed1990460bdfbf7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x1.c67eccp-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67eccp-4 + 0xf.e6b4ep-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b8p-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a85944b988790cep-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a85944bap-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecd92a8594p-4 + 0xf.e6b4ep-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e0948p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecd92a8595p-4 + 0xf.e6b4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0948788cb0c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e0949p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x1.c67ecep-4 + 0xf.e6b4d1d7a6e1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p+0 + 0x4.8d1598p-12 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x1p-16440 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x1p-16440 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a2f9df7a4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7b8p-4 + 0xf.de3a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a2f9df7a4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x2.0ce7ba1e4902p-4 + 0xf.de3a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a2f9df7a4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.0ce7bcp-4 + 0xf.de3a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a38p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x2.82b794p-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b794p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a8p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cb2p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a38p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281a934c6dd315cp-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281a934c6dd315dp-4 + 0xf.cd42bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b281acp-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e81e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a38p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b28p-4 + 0xf.cd42bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3613p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b795e420b2ap-4 + 0xf.cd42a15bf9a3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a361243a89663e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42a15bf9a3612p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x2.82b798p-4 + 0xf.cd42bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x2p-148 + 0x2p-148 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x3.2cdb84p-4 + 0xf.ae888f0455f6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae888p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.2cdb855bcb8d8p-4 + 0xf.ae889p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab873d09e61ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dc2be0945a6p-4 + 0xf.ab874p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873d09e61ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276aa8dcp-4 + 0xf.ab873p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab873d09e61e798p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aa8ep-4 + 0xf.ab874p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873d09e61ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276aap-4 + 0xf.ab873p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e797a27ebc9f508p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f9163276acp-4 + 0xf.ab873d09e61e798p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e798p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.3b8f94p-4 + 0xf.ab873d09e61e8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.3b8f94p-4 + 0xf.ab873p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x3.3b8f9p-4 + 0xf.ab873d09e61e797p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aaap-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab754p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2e34p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2ep-4 + 0xf.a0c59p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab757d097f83d2fp-4 + 0xf.a0c59p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c772p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aab758p-4 + 0xf.a0c58a83e57c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c772fe5f777d04p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.6e17119fb8aacp-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c58p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.6e1714p-4 + 0xf.a0c59p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d043a8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c772fe5f777d044p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57c773p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58a83e57cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.6e171p-4 + 0xf.a0c58p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d118p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfdp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bcp-4 + 0xf.8e3d619a8d11bfep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bcp-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e3501173c8004ccp-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d118p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d619a8d11bfep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3501174p-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d619a8d118p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e350117p-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d619a8d11bfd30b038eep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e3502p-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfdp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d619a8d11bfep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2bd62e35p-4 + 0xf.8e3d6p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d619a8d12p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d6p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.bea2cp-4 + 0xf.8e3d7p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06d08p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4eap-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06d005dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34cp-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b3d1b06d005dcbb5516d5479p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d34p-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06d005ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacd9c6952d35p-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3d1b06d005ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebeacp-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ebebp-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06d08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a105ac4ecp-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005dcbb5516d548p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d005ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06d08p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3d1b06dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0a4p-4 + 0xf.859b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dcbb5516d544p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d005dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3d1b06d08p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x3.e1d0ap-4 + 0xf.859b3p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x3.e1d0ap-4 + 0xf.859b4p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3ce8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1af8e3cfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf78p-4 + 0xf.7a5c1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3ce8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1af8e3cec09p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c1p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x4.0dbf7d40fe1acp-4 + 0xf.7a5c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.0dbf7d40fe1bp-4 + 0xf.7a5c1af8e3cec09p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c1af8e3cfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.0dbf8p-4 + 0xf.7a5c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e368078p-4 + 0xf.5f4a550c9d75e3cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209cp-4 + 0xf.5f4a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d75e3cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acb1e5214b209dep-4 + 0xf.5f4a550c9d76p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a550c9d75e3cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a5p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb1e5214b209ep-4 + 0xf.5f4a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acb8p-4 + 0xf.5f4a5p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d758p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807acbp-4 + 0xf.5f4a550c9d76p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d758p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a2e36807cp-4 + 0xf.5f4a5p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a550c9d76p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x4.7017a8p-4 + 0xf.5f4a6p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d758p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f0dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865f4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bb1839d865fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.7017ap-4 + 0xf.5f4a550c9d75e3bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4.d9e8c8p-4 + 0xf.3f303p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x4.d9e8cp-4 + 0xf.3f30281507d8p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x4p-1076 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-1076 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16496 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x4p-16496 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.03p-4 + 0xf.31ep-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c58p-4 + 0xf.22364p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363bf989d9b5cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.318c596a8cb114ep-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22363bf989dap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb14p-4 + 0xf.22364p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989d9b5cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363bf989dap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c596a8cb1p-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.318c596a8cb1p-4 + 0xf.22364p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989d98p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363bf989dap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.318c6p-4 + 0xf.22363p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.b06b680ea2ccp-4 + 0xe.f452b965da9fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452b965da9fp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x5.b06b68p-4 + 0xe.f452bp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452b965da9fp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.b06b7p-4 + 0xe.f452bp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x5.ba8cep-4 + 0xe.f0742p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x5.dbd1p-4 + 0xe.e387ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.02fd5037c4792efp-4 + 0xe.d3e21p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.02fd5037c4794p-4 + 0xe.d3e2086dcca8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e21p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.02fd5037c479p-4 + 0xe.d3e2p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e2086dcca8p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.02fd58p-4 + 0xe.d3e21p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x6.02fd58p-4 + 0xe.d3e2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.02fd5p-4 + 0xe.d3e21p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x6.02fd5p-4 + 0xe.d3e2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.1c643068cd124p-4 + 0xe.c97c3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c2018b428p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd125ef6f796a57d2p-4 + 0xe.c97c3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2018b428p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd125ef8p-4 + 0xe.c97c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c643068cd128p-4 + 0xe.c97c2p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428257p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b4288p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c2018b428p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.1c6438p-4 + 0xe.c97c3p-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x6.1c643p-4 + 0xe.c97c2018b4288p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cb019p-4 + 0xe.c36a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cb08p-4 + 0xe.c36a599a86bbp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cbp-4 + 0xe.c36a599a86baf8febep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86ba8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf8fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a599a86baf9p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.2aff83ae6467cp-4 + 0xe.c36a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a599a86ba8p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.2aff83ae6468p-4 + 0xe.c36a5p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86ba8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.2aff88p-4 + 0xe.c36a599a86baf9p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.59feap-4 + 0xe.af6f9p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b48p-4 + 0xe.8893dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520214p-4 + 0xe.8893cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520217b6p-4 + 0xe.8893cbb449253a1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb449253a1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cbb44925p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.b10b4f3520218p-4 + 0xe.8893dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x6.b10b5p-4 + 0xe.8893cbb449258p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x6.b10b5p-4 + 0xe.8893cbb44925p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e510a95p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e028p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e028p-4 + 0xd.e655fp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1319143490849p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e510a95p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349084p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae131914349086p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a74p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae18p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02ae1p-4 + 0xd.e655e694e511p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655e694e510a95p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca921b40e02cp-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e5108p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655e694e510a94p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x7.eca928p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e5108p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a77b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655e694e510a94307614f1a78p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.eca92p-4 + 0xd.e655fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65939160b31066ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca10d384p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10d8p-4 + 0xd.e2d66p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b311p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160b31p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65939160bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca10dp-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65939160bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1eca4p-4 + 0xd.e2d66p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b31p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65939160bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d20a1ecap-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b31066ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8d8p-4 + 0xd.e2d65939160b8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f2c8d8p-4 + 0xd.e2d66p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b311p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f2c8dp-4 + 0xd.e2d65939160bp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f2c8dp-4 + 0xd.e2d65p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f4b083cb0bp-4 + 0xd.e1bf04f3688p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x7.f4b088p-4 + 0xd.e1bf04f3688p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x7.f4b088p-4 + 0xd.e1bfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x7.f4b08p-4 + 0xd.e1bf04f3688p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x8.88faep-4 + 0xd.888bdp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8.88fafp-4 + 0xd.888bdp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.479468b09a37p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8.ecbf810c4ae6p-4 + 0xd.47946p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.479468b09a37p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x8.ecbf8p-4 + 0xd.47946p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8.ecbf9p-4 + 0xd.479468b09a37p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x8p-1076 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-1076 + 0x8p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-1076 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0x8p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 + 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8p-152 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-152 - 0xf.8p+124 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0x8p-152 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-16448 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x8p-16448 - 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.a9cp-4 + 0xc.c0ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b4085cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b408p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317c470b41p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b9688p-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317c470b41p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b968a66p-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b386fc56b969p-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317c470b41p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x9.b386fp-4 + 0xc.b9317p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.b57bp-4 + 0xc.b7b4p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246ba85a5c8p-4 + 0xc.ae53ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bap-4 + 0xc.ae53ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a246bbp-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53de1d5a7dp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a248p-4 + 0xc.ae53ep-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8b1p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53de1d5a7c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ac509a24p-4 + 0xc.ae53ep-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8b0f6df3p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53de1d5a7dp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53dp-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6ap-4 + 0xc.ae53ep-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53de1d5a7c8bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0x9.c1b6bp-4 + 0xc.ae53dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd4928p-4 + 0xc.42a51p-4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1504p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a51p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f15065p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a51p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7e54a156f1508p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c18p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7ep-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c18p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51a3c05c19ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd492c7fp-4 + 0xc.42a51p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8008p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0c65bd493p-4 + 0xc.42a52p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c18p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b84p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51a3c05c2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0cp-4 + 0xc.42a51p-4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199f62998856b8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.47c0dp-4 + 0xc.42a51a3c05c199fp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867932966df58ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfb1b08p-4 + 0xb.e867ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966df589p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e867932966dfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342dfp-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867932966df589p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624342ep-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624342ep-4 + 0xb.e867ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df58ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867932966df8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e2624348p-4 + 0xb.e8679p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e2624348p-4 + 0xb.e867ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966df8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc57e262434p-4 + 0xb.e867932966dfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.afc57p-4 + 0xb.e867932966df8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.afc58p-4 + 0xb.e867932966df5894a70c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867932966dfp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.afc58p-4 + 0xb.e867ap-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.b96da19075eap-8 + 0xf.fc67818f89d2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.b96da19075eap-8 + 0xf.fc679p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc67818f89d2p-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.b96dap-8 + 0xf.fc678p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.b96dap-8 + 0xf.fc679p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.b96dbp-8 + 0xf.fc67818f89d2p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.e7de8cc868ff8p-4 + 0xb.b51cbp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.e7de8p-4 + 0xb.b51cb9f04d4dp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.e7de8p-4 + 0xb.b51cbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cb9f04d4dp-4 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51cbp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.e7de9p-4 + 0xb.b51ccp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a043561d0f42p-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f2405504a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528a1p-4 + 0xb.b0f24p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528ap-4 + 0xb.b0f25p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f2405504a6p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55b7682e528p-4 + 0xb.b0f24p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.ec55b7682e53p-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f2405504a68p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55bp-4 + 0xb.b0f24p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6058859a584e748p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a6059p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f2405504a68p-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f24p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xa.ec55cp-4 + 0xb.b0f25p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xb.263a77543bp-4 + 0xb.79c9ap-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9ap-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog (0xb.263a7p-4 + 0xb.79c9bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog (0xb.263a8p-4 + 0xb.79c9bp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+124 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0xf.8p+124 - 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog (0xf.8p+16380 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 + 0xf.fffffp+124 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x4p-16496 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.8p+16380 - 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp+124 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog (0xf.fffffp+124 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0xf.ffffffffffff8p-1004 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffffffffffffp-15004 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog (0xf.fffffp-4 + 0xf.fffffp-104 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-0x1.0000000123456p0 + 0x1.2345678p-30 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+1023 - 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1.fp+127 - 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 + 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-0x1p-149 - 0x1.fp+127 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-1.0 + 0x1.234566p-20 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-2 - 3 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (-3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + inf i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (-inf - 0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x0.fffffffffffff8p0 + 0x0.fffffffffffff8p-1000 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x0.ffffffp0 + 0x0.ffffffp-100 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-1000 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.00000000000000123456789abcp0 + 0x1.23456789p-60 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-10 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.000566p0 + 0x1.234p-100 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-30 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.234566p-50 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-50 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.234566p-60 + 1.0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1.234566p-60 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffep+127 + 0x1.fffffep+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x1.fffffep+127 + 1.0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1.fffffffffffffp+1023 + 0x1.fffffffffffffp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1.fp+16383 + 0x1.fp+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1.fp+16383 + 0x1p+16383 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x10673dd0f2481p-51 + 0x7ef1d17cefbd2p-51 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1367a310575591p-54 + 0x3cfcc0a0541f60p-54 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1415bcaf2105940d49a636e98ae59p-115 + 0x7e6a150adfcd1b0921d44b31f40f4p-115 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x15cfbd1990d1ffp-53 + 0x176a3973e09a9ap-53 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x164c74eea876p-45 + 0x16f393482f77p-45 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1a6p-10 + 0x3a5p-10 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1df515eb171a808b9e400266p-95 + 0x7c71eb0cd4688dfe98581c77p-95 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x1p-1073 + 0x1p-1073 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-1074 - 0x1.fp+1023 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-147 + 0x1p-147 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1.fp+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 + 0x1p-149 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-149 - 0x1.fp+127 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-509 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-510 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-511 + 1.0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0x1p-61 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-62 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x1p-63 + 1.0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x2818p-15 + 0x798fp-15 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x2dd46725bp-35 + 0x7783a1284p-35 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0x2ede88p-23 + 0x771c3fp-23 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x3f96469050f650869c2p-75 + 0x6f16b2c9c8b05988335p-75 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x4447d7175p-35 + 0x6c445e00ap-35 i)":
-double: 1
-idouble: 1
-Test "Real part of: clog10 (0x4d4ep-15 + 0x6605p-15 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x4d9c37e2b5cb4533p-63 + 0x65c98be2385a042ep-63 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x55cb6d0c83af5p-55 + 0x7fe33c0c7c4e90p-55 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x5b06b680ea2ccp-52 + 0xef452b965da9fp-52 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x602fd5037c4792efp-64 + 0xed3e2086dcca80b8p-64 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x6241ef0da53f539f02fad67dabp-106 + 0x3fb46641182f7efd9caa769dac0p-106 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x659feap-24 + 0xeaf6f9p-24 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x6b10b4f3520217b6p-64 + 0xe8893cbb449253a1p-64 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (0x9b57bp-20 + 0xcb7b4p-20 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0xdb85c467ee2aadd5f425fe0f4b8dp-114 + 0x3e83162a0f95f1dcbf97dddf410eap-114 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xf2p-10 + 0x3e3p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (0xfd95243681c055c2632286921092p-113 + 0x1bccabcd29ca2152860ec29e34ef7p-113 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: clog10 (0xfe961079616p-45 + 0x1bc37e09e6d1p-45 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: clog10 (1.0 + 0x1.234566p-10 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: clog10 (3 + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# cos
-Test "cos (-0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x1p+120)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x2.182a4705ae6ccp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0x7p+0)":
-float: 1
-ifloat: 1
-Test "cos (0x8p+124)":
-float: 1
-ifloat: 1
-Test "cos (0xap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "cos (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-
-# cos_downward
-Test "cos_downward (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (-0xf.fffffp+124)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.000000cf4a2a2p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.0000010b239a9p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.00000162a932bp+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.000002d452a1p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.000002p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0x1.000004p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.000006p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.0c1522p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.0c152382d7365p+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x1.0c1524p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x1.921fb4p+0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1.921fb6p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0x1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0x1p+120)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x1p+28)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a44p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0x2.182a4705ae6cap+0)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb08cp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6cb09p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a4705ae6ccp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2.182a48p+0)":
-float: 1
-ifloat: 1
-Test "cos_downward (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-Test "cos_downward (0x2p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x3p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p+48)":
-double: 1
-idouble: 1
-Test "cos_downward (0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p+0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0x9p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xa.217bap+12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "cos_downward (0xc.d4966d92d171p-4)":
-double: 1
-idouble: 1
-Test "cos_downward (0xc.d4966p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_downward (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "cos_downward (0xcp-4)":
-double: 1
-idouble: 1
-Test "cos_downward (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_downward (0xf.fffffffffffffffp+16380)":
-ildouble: 2
-ldouble: 2
-Test "cos_downward (0xf.fffffp+124)":
-double: 1
-idouble: 1
-
-# cos_tonearest
-Test "cos_tonearest (-0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1p+120)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x2.182a4705ae6ccp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0x7p+0)":
-float: 1
-ifloat: 1
-Test "cos_tonearest (0x8p+124)":
-float: 1
-ifloat: 1
-Test "cos_tonearest (0xap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "cos_tonearest (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_tonearest (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-
-# cos_towardzero
-Test "cos_towardzero (-0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (-0xf.fffffp+124)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.000000cf4a2a2p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.0000010b239a9p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.00000162a932bp+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.000002d452a1p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.000002p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.0c152382d7365p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1.921fb6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x1p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x1p+120)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_towardzero (0x2.182a44p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.182a4705ae6cap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.182a4705ae6cb08cb7665c1eacp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.182a4705ae6ccp+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2.182a48p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2p+0)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x2p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p+48)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x4p-1024)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-1076)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-128)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p+1020)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0x8p-152)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p-16448)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0x8p-972)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0xa.217bap+12)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xc.d4966d92d171p-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xc.d4966p-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xcp-4)":
-double: 1
-idouble: 1
-Test "cos_towardzero (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_towardzero (0xf.fffffp+124)":
-double: 1
-idouble: 1
-
-# cos_upward
-Test "cos_upward (-0x2p+64)":
-double: 1
-idouble: 1
-Test "cos_upward (-0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (-0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (-0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.000002p+0)":
-float: 1
-ifloat: 1
-Test "cos_upward (0x1.000004p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x1.000005bc7d86dp+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x1.000006p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x1.0c1522p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x1.0c152382d7366p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x1.0c1524p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x1.921fb4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x1.921fb6p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1p+0)":
-float: 1
-ifloat: 1
-Test "cos_upward (0x1p+120)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a44p+0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.182a4705ae6cap+0)":
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf4p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacf6p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eacp+0)":
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.182a4705ae6cb08cb7665c1eadp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb08cp+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6cb09p+0)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a4705ae6ccp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2.182a48p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x2.1e19e4p+72)":
-float: 1
-ifloat: 1
-Test "cos_upward (0x2p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x2p+64)":
-double: 1
-idouble: 1
-Test "cos_upward (0x3p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0x5p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x6p+0)":
-double: 1
-idouble: 1
-Test "cos_upward (0x7p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0x8p+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0x9p+0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xa.217bap+12)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "cos_upward (0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xc.d4966p-4)":
-float: 1
-ifloat: 1
-Test "cos_upward (0xc.d4967p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos_upward (0xf.ffffcp+124)":
-double: 1
-idouble: 1
-Test "cos_upward (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xf.fffffffffffffffffffffffffff8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "cos_upward (0xf.fffffffffffffffp+16380)":
-ildouble: 1
-ldouble: 1
-
-# cosh
-Test "cosh (-0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh (-0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh (-0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh (-0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh (0x1.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "cosh (0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh (0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh (0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh (0x2.c679dp+8)":
-double: 1
-idouble: 1
-
-# cosh_downward
-Test "cosh_downward (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_downward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_downward (-0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_downward (-0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (-0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (-0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-Test "cosh_downward (0x1.6p+4)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_downward (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_downward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_downward (0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_downward (0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_downward (0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-
-# cosh_tonearest
-Test "cosh_tonearest (-0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_tonearest (-0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh_tonearest (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_tonearest (0x1.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d374p+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_tonearest (0x2.c5e3acp+8)":
-double: 1
-idouble: 1
-Test "cosh_tonearest (0x2.c679dp+8)":
-double: 1
-idouble: 1
-
-# cosh_towardzero
-Test "cosh_towardzero (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_towardzero (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_towardzero (-0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_towardzero (-0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (-0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (-0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-Test "cosh_towardzero (0x1.6p+4)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_towardzero (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 2
-Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 1
-Test "cosh_towardzero (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 2
-Test "cosh_towardzero (0x2.c5d37700c6bbp+12)":
-ldouble: 2
-Test "cosh_towardzero (0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_towardzero (0x5.96a7ep+4)":
-float: 1
-ifloat: 1
-
-# cosh_upward
-Test "cosh_upward (-0x1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_upward (-0x2.c5d374p+12)":
-ldouble: 3
-Test "cosh_upward (-0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 2
-Test "cosh_upward (-0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_upward (-0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_upward (-0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x5.96a7e8p+4)":
-double: 1
-idouble: 1
-Test "cosh_upward (-0x5.96a7ep+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "cosh_upward (0x1.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "cosh_upward (0x1.8p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "cosh_upward (0x2.c5d374p+12)":
-ldouble: 3
-Test "cosh_upward (0x2.c5d37700c6bb03a4p+12)":
-ldouble: 1
-Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b494cp+12)":
-ldouble: 2
-Test "cosh_upward (0x2.c5d37700c6bb03a6c24b6c9b49p+12)":
-ldouble: 1
-Test "cosh_upward (0x2.c5d37700c6bbp+12)":
-ldouble: 1
-Test "cosh_upward (0x2.c5e3bp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x2.c679d1f73f0fap+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x2.c679dp+8)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x3.2p+4)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x5.96a7e8p+4)":
-double: 1
-idouble: 1
-Test "cosh_upward (0x5.96a7ep+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# cpow
-Test "Real part of: cpow (0x2p+0 + +0 i, 0xap+0 + +0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: cpow (0x2p+0 + 0x3p+0 i, 0x4p+0 + +0 i)":
-float: 2
-ifloat: 2
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cpow (0xcp-4 + 0x1.4p+0 i, +0 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0x1p+0 + 0x1p+0 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: cpow (0xcp-4 + 0x1.4p+0 i, 0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-ildouble: 4
-ldouble: 4
-
-# csin
-Test "Real part of: csin (-0.75 + 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 + 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (-0.75 + 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 - 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 - 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (-0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (-0.75 - 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 1.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 + 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (0.75 + 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 - 11357.25 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 - 710.5 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0.75 - 89.5 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csin (0.75 - 89.5 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csin (0x1p-1074 + 1440 i)":
-double: 1
-idouble: 1
-Test "Real part of: csin (0x1p-16434 + 22730 i)":
-ildouble: 1
-ldouble: 1
-
-# csinh
-Test "Imaginary part of: csinh (-11357.25 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-11357.25 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (-2 - 3 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-2 - 3 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (-710.5 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-710.5 - 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (-89.5 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (-89.5 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (-89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (11357.25 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (11357.25 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (1440 + 0x1p-1074 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csinh (22730 + 0x1p-16434 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (710.5 + 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (710.5 - 0.75 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (89.5 + 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (89.5 + 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csinh (89.5 - 0.75 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csinh (89.5 - 0.75 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# csqrt
-Test "Imaginary part of: csqrt (-0 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x2p+0 + 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000000000000000004p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000000000000000000004p-16384 - 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000000008p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000000008p-16384 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (-0x4.0000000000004p-1024 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4.000008p-128 - 0x4.000008p-128 i)":
-double: 1
-idouble: 1
-Test "Real part of: csqrt (-0x4p-16384 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x4p-16384 - 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (-0x8p-152 - 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-16440 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-16440 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x1p-5000 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000000000000000004p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000000000000000004p-16384 + 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000000008p-16384 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.0000000000004p-1024 + 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4.000008p-128 + 0x4.000008p-128 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-1076 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x4p-16384 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-16384 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x4p-16496 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+1020 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+1020 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+124 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+16380 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p+16380 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000000008p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4.0000000000004p-1024 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16384 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x4p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16444 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0x8p-152 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0x8p-16448 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.8p+16380 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.8p+16380 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffff8p+1020 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.ffffffffffffbffffffffffffcp+1020 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0x1p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: csqrt (0xf.fffffp+124 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-
-# ctan
-Test "Real part of: ctan (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan (-0x2p+0 - 0x3p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan (0x1.921fb4p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + +0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb6p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1p+0 + 0x1.63p+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x1p+0 + 0x2.dp+4 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x1p+0 + 0x2.fp+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0x8p+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0x8p+124 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan (0x8p+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctan_downward
-Test "Real part of: ctan_downward (-0x2p+0 - 0x3p+0 i)":
-double: 3
-idouble: 3
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (-0x2p+0 - 0x3p+0 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb4p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + +0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctan_downward (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0x1p+0 + 0x2.dp+4 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x8p+1020 + 0x1p+0 i)":
-double: 6
-idouble: 6
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_downward (0x8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x8p+124 + 0x1p+0 i)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x8p+124 + 0x1p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_downward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 3
-idouble: 3
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_downward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_downward (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-
-# ctan_tonearest
-Test "Real part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_tonearest (-0x2p+0 - 0x3p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + +0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb4p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + +0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 2
-idouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.63p+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.dp+4 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x1p+0 + 0x2.fp+4 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan_tonearest (0x8p+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_tonearest (0x8p+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_tonearest (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-# ctan_towardzero
-Test "Real part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 5
-float: 3
-idouble: 5
-ifloat: 3
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (-0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + +0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctan_towardzero (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0x1p+0 + 0x2.dp+4 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)":
-double: 5
-idouble: 5
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x8p+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x8p+124 + 0x1p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_towardzero (0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0xcp-4 + 0x1.4p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_towardzero (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)":
-double: 4
-float: 2
-idouble: 4
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_towardzero (0xf.fffffp+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-
-# ctan_upward
-Test "Real part of: ctan_upward (-0x2p+0 - 0x3p+0 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (-0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (-0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb4p+0 + +0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb4p+0 + 0x8p-152 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + +0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d1846ap+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-152 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d18p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + +0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-152 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1.921fb54442d19p+0 + 0x8p-16448 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + +0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x4p-1076 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1.921fb6p+0 + 0x8p-152 i)":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1.921fb6p+0 + 0x8p-16448 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63ap+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.63p+8 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x1.6dp+8 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.dp+4 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan_upward (0x1p+0 + 0x2.fp+4 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0x8p+1020 + 0x1p+0 i)":
-double: 2
-idouble: 2
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctan_upward (0x8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0x8p+124 + 0x1p+0 i)":
-double: 2
-idouble: 2
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctan_upward (0x8p+124 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctan_upward (0x8p+16380 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctan_upward (0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctan_upward (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctan_upward (0xf.ffffffffffff8p+1020 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctan_upward (0xf.ffffffffffffbffffffffffffcp+1020 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctan_upward (0xf.fffffp+124 + 0x1p+0 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 2
-ldouble: 2
-
-# ctanh
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdaa22168cp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdap-4 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Imaginary part of: ctanh (+0 + 0xc.90fdbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (0x1.63p+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0x8p+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0x8p+124 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+124 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x2.dp+4 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x2.fp+4 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh (0xcp-4 + 0x1.4p+0 i)":
-float: 2
-ifloat: 2
-
-# ctanh_downward
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (+0 + 0x1.921fb6p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168c235p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdaa22168cp-4 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (+0 + 0xc.90fdap-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)":
-double: 4
-float: 1
-idouble: 4
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+1020 i)":
-double: 6
-idouble: 6
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+124 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+124 i)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 3
-idouble: 3
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_downward (0x1p+0 + 0xf.fffffp+124 i)":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x2.dp+4 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_downward (0x4p-1076 + 0x1.921fb6p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_downward (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb4p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_downward (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_downward (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# ctanh_tonearest
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168c8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdaa22168cp-4 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdap-4 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (+0 + 0xc.90fdbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (0x1.63p+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+124 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x2.dp+4 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x2.fp+4 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_tonearest (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_tonearest (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_tonearest (0xcp-4 + 0x1.4p+0 i)":
-float: 2
-ifloat: 2
-
-# ctanh_towardzero
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b80dcp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168c235p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (+0 + 0xc.90fdaa22168cp-4 i)":
-ildouble: 3
-ldouble: 3
-Test "Real part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 2
-idouble: 2
-Test "Imaginary part of: ctanh_towardzero (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: ctanh_towardzero (-0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (-0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+1020 i)":
-double: 5
-idouble: 5
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+124 i)":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0x8p+16380 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x1p+0 + 0xf.fffffp+124 i)":
-double: 4
-float: 2
-idouble: 4
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x2.dp+4 + 0x1p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_towardzero (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 5
-ldouble: 5
-Test "Imaginary part of: ctanh_towardzero (0x8p-152 + 0x1.921fb6p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 4
-ldouble: 4
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_towardzero (0xcp-4 + 0x1.4p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# ctanh_upward
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (+0 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80cp-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b80dc8p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234c4c6628b81p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c234p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168c235p-4 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdaa22168cp-4 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdap-4 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_upward (+0 + 0xc.90fdbp-4 i)":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (-0x2p+0 - 0x3p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "Real part of: ctanh_upward (-0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (-0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.63ap+12 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.63p+12 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x1.63p+8 + 0x1p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x1.6dp+8 + 0x1p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+1020 i)":
-double: 2
-idouble: 2
-ildouble: 5
-ldouble: 5
-Test "Real part of: ctanh_upward (0x1p+0 + 0x8p+124 i)":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+124 i)":
-double: 2
-idouble: 2
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0x8p+16380 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffff8p+1020 i)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.ffffffffffffbffffffffffffcp+1020 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x1p+0 + 0xf.fffffp+124 i)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x2.dp+4 + 0x1p+0 i)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x2.fp+4 + 0x1p+0 i)":
-double: 1
-idouble: 1
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb4p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "Real part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x4p-1076 + 0x1.921fb6p+0 i)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb4p+0 i)":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d18p+0 i)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb54442d19p+0 i)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "Real part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-152 + 0x1.921fb6p+0 i)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d1846ap+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d18p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 3
-ldouble: 3
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb54442d19p+0 i)":
-ildouble: 2
-ldouble: 2
-Test "Imaginary part of: ctanh_upward (0x8p-16448 + 0x1.921fb6p+0 i)":
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0xc.35p+12 + 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Real part of: ctanh_upward (0xc.35p+12 - 0xc.35p+12 i)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "Imaginary part of: ctanh_upward (0xcp-4 + 0x1.4p+0 i)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# erf
-Test "erf (-0x7.ffffffffffffcp-4)":
-ildouble: 1
-ldouble: 1
-Test "erf (0x1.4p+0)":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (-0x8p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "erfc (0x1.ap+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x1.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x1.cp+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x2p+0)":
-double: 1
-idouble: 1
-Test "erfc (0x3.ee6078p+0)":
-double: 1
-idouble: 1
-Test "erfc (0x4.2p+0)":
-double: 1
-idouble: 1
-Test "erfc (0x6.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x6.a8p+4)":
-ildouble: 1
-ldouble: 1
-Test "erfc (0x7.fe8008p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "erfc (0x7.fffd6p+0)":
-float: 1
-ifloat: 1
-Test "erfc (0x7.ffff2p+0)":
-ildouble: 1
-ldouble: 1
-
-# exp10
-Test "exp10 (-0x1.31p+8)":
-double: 1
-idouble: 1
-Test "exp10 (-0x1p+0)":
-double: 1
-idouble: 1
-Test "exp10 (-0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x1.348e46p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10 (0x2.4p+4)":
-double: 1
-idouble: 1
-Test "exp10 (0x3p+0)":
-double: 1
-idouble: 1
-
-# exp10_downward
-Test "exp10_downward (-0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (-0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (-0x1p+0)":
-ildouble: 2
-ldouble: 2
-Test "exp10_downward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.348e44p+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_downward (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.348e45573a1ddp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x1.348e45573a1dep+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "exp10_downward (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "exp10_downward (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# exp10_tonearest
-Test "exp10_tonearest (-0x1.31p+8)":
-double: 1
-idouble: 1
-Test "exp10_tonearest (-0x1p+0)":
-double: 1
-idouble: 1
-Test "exp10_tonearest (-0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x1.348e46p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_tonearest (0x2.4p+4)":
-double: 1
-idouble: 1
-Test "exp10_tonearest (0x3p+0)":
-double: 1
-idouble: 1
-
-# exp10_towardzero
-Test "exp10_towardzero (-0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (-0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (-0x1p+0)":
-ildouble: 2
-ldouble: 2
-Test "exp10_towardzero (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.348e44p+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_towardzero (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.348e45573a1ddp+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x1.348e45573a1dep+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "exp10_towardzero (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "exp10_towardzero (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# exp10_upward
-Test "exp10_upward (-0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (-0x1.344p+12)":
-float: 1
-ifloat: 1
-Test "exp10_upward (-0x1.86ap+16)":
-float: 1
-ifloat: 1
-Test "exp10_upward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (-0xf.424p+16)":
-float: 1
-ifloat: 1
-Test "exp10_upward (-0xf.fffffp+124)":
-float: 1
-ifloat: 1
-Test "exp10_upward (0x1.31p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x1.344p+12)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x1.348e44p+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x1.348e45573a1dd72cp+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x1.348e45573a1ddp+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x1.348e45573a1dep+8)":
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x1.348e46p+8)":
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "exp10_upward (0x3p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "exp10_upward (0xcp-4)":
-ildouble: 2
-ldouble: 2
-
-# exp2
-Test "exp2 (0x6.48p+4)":
-ildouble: 1
-ldouble: 1
-
-# exp_downward
-Test "exp_downward (0x2p+0)":
-double: 1
-idouble: 1
-Test "exp_downward (0x3p+0)":
-double: 1
-idouble: 1
-Test "exp_downward (0x5.8b9028p+4)":
-double: 1
-idouble: 1
-Test "exp_downward (0xcp-4)":
-double: 1
-idouble: 1
-
-# exp_towardzero
-Test "exp_towardzero (0x2p+0)":
-double: 1
-idouble: 1
-Test "exp_towardzero (0x3p+0)":
-double: 1
-idouble: 1
-Test "exp_towardzero (0x5.8b9028p+4)":
-double: 1
-idouble: 1
-Test "exp_towardzero (0xcp-4)":
-double: 1
-idouble: 1
-
-# exp_upward
-Test "exp_upward (-0x2.e870a4p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.e870a7e5e88c2p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.e870a7e5e88cp+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.e870a8p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.ebe224p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.ebe227861639p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x2.ebe228p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0x4.d2p+8)":
-double: 1
-idouble: 1
-Test "exp_upward (-0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "exp_upward (-0xf.fffffp+124)":
-double: 1
-idouble: 1
-Test "exp_upward (0x1p+0)":
-double: 1
-idouble: 1
-Test "exp_upward (0x2.c5cp+8)":
-double: 1
-idouble: 1
-Test "exp_upward (0x3.2p+4)":
-double: 1
-idouble: 1
-
-# expm1
-Test "expm1 (-0x1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x2.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x2.cp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x4.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (-0x8p-32)":
-ildouble: 1
-ldouble: 1
-Test "expm1 (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1 (0x1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1 (0xcp-4)":
-double: 1
-idouble: 1
-
-# expm1_downward
-Test "expm1_downward (-0x1.1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x1p-32)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x1p-64)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x2.dp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x2.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x4.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (-0x4p-12)":
-ildouble: 1
-ldouble: 1
-Test "expm1_downward (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1_downward (0x3.2p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_downward (0x7.fp+4)":
-double: 1
-idouble: 1
-
-# expm1_tonearest
-Test "expm1_tonearest (-0x1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x2.6p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x2.cp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x4.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (-0x8p-32)":
-ildouble: 1
-ldouble: 1
-Test "expm1_tonearest (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1_tonearest (0x1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_tonearest (0xcp-4)":
-double: 1
-idouble: 1
-
-# expm1_towardzero
-Test "expm1_towardzero (-0x1.1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x1p-100)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x1p-32)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x1p-64)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x2.dp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x2.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4p-12)":
-ildouble: 1
-ldouble: 1
-Test "expm1_towardzero (-0x4p-52)":
-float: 1
-ifloat: 1
-Test "expm1_towardzero (-0x8p-32)":
-float: 1
-ifloat: 1
-Test "expm1_towardzero (0x1.f4p+8)":
-double: 1
-idouble: 1
-Test "expm1_towardzero (0x3.2p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_towardzero (0x7.fp+4)":
-double: 1
-idouble: 1
-
-# expm1_upward
-Test "expm1_upward (-0x1.1p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x1p-100)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x1p-32)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x1p-64)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x2.4p+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x2.dp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x2.ep+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4.bp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4p-12)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (-0x4p-52)":
-float: 1
-ifloat: 1
-Test "expm1_upward (-0x8p-32)":
-float: 1
-ifloat: 1
-Test "expm1_upward (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (0x1p-100)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_upward (0x1p-32)":
-float: 1
-ifloat: 1
-Test "expm1_upward (0x1p-64)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "expm1_upward (0x4p-52)":
-float: 1
-ifloat: 1
-Test "expm1_upward (0x7.fp+4)":
-ildouble: 1
-ldouble: 1
-Test "expm1_upward (0x8p-32)":
-float: 1
-ifloat: 1
-
-# gamma
-Test "gamma (-0x1p-20)":
-double: 1
-idouble: 1
-Test "gamma (-0x1p-40)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x1p-64)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x2p-16)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "gamma (-0x4p-12)":
-double: 1
-idouble: 1
-Test "gamma (-0x4p-32)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x8p-28)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x8p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (-0x8p-8)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "gamma (0x1.3333333333333332p+0)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x1.3333333333333333333333333333p+0)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x1p-60)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x4p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "gamma (0x4p-32)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "gamma (0x4p-72)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0x8p-8)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "gamma (0xb.333333333333p-4)":
-double: 1
-idouble: 1
-Test "gamma (0xb.33333p-4)":
-double: 1
-idouble: 1
-
-# hypot
-Test "hypot (-0xb.3333333333333333333333333338p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333338p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333333333333333p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333333333333333p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333333333333333333333334p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333333333333333333333334p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333334p-4, -0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.333333333333334p-4, 0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, -0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33333p-4, 0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33334p-4, -0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33334p-4, -0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (-0xb.33334p-4, 0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xb.33334p-4, 0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666664p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.6666666666666666666666666668p+0, -0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.6666666666666666666666666668p+0, 0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666666666666666p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66666666666666666666666668p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666p+0, -0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666666p+0, 0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666667p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.666666666666667p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.6666666666668p+0, -0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (-0xc.6666666666668p+0, 0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (-0xc.66667p+0, -0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, -0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, -0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, 0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, 0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (-0xc.66667p+0, 0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdef0123456789ab8p-500, 0x1.23456789abcdep-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdef02p-500, 0x1.23456789abcdfp-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdefp-500, 0x1.23456789abcdfp-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdep-500, 0x1.23456789abcdef0123456789ab8p-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdef02p-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0x1.23456789abcdfp-500, 0x1.23456789abcdefp-500)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333338p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333338p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333333333333333p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333333333333333p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333333333333333333333334p-4, -0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333333333333333333333334p-4, 0xc.66667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333334p-4, -0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.333333333333334p-4, 0xc.666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.3333333333338p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, -0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666664p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.666666666666666666666666666p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.66666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33333p-4, 0xc.666666666666667p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33334p-4, -0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33334p-4, -0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (0xb.33334p-4, 0xc.6666666666666666666666666668p+0)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xb.33334p-4, 0xc.6666666666668p+0)":
-double: 1
-idouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666664p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.6666666666666666666666666668p+0, -0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.6666666666666666666666666668p+0, 0xb.33334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666666666666666p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, -0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, 0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66666666666666666666666668p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666p+0, -0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666666p+0, 0xb.333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666667p+0, -0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.666666666666667p+0, 0xb.33333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.6666666666668p+0, -0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (0xc.6666666666668p+0, 0xb.33334p-4)":
-double: 1
-idouble: 1
-Test "hypot (0xc.66667p+0, -0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, -0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, -0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, 0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, 0xb.333333333333333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "hypot (0xc.66667p+0, 0xb.33333333333333333333333334p-4)":
-ildouble: 1
-ldouble: 1
-
-# j0
-Test "j0 (-0x2.002000002p+592)":
-ildouble: 2
-ldouble: 2
-Test "j0 (-0x4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "j0 (-0xf.fffffp+124)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j0 (0x2p+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j0 (0x4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "j0 (0x4p+16380)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0x8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "j0 (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "j0 (0xap+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "j0 (0xcp-4)":
-float: 1
-ifloat: 1
-Test "j0 (0xe.be71dp+104)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "j0 (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "j0 (0xf.fffffp+124)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-# j1
-Test "j1 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x2p+0)":
-double: 1
-idouble: 1
-Test "j1 (0x4.ffcp+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "j1 (0x4p+16380)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "j1 (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "j1 (0xap+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "j1 (0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "j1 (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "j1 (0xf.fffffp+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# jn
-Test "jn (0, -0x4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (0, 0x2p+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (0, 0x4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (0, 0x8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (0, 0xap+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (0, 0xcp-4)":
-float: 1
-ifloat: 1
-Test "jn (1, 0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (1, 0x2p+0)":
-double: 1
-idouble: 1
-Test "jn (1, 0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "jn (1, 0xap+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (1, 0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, -0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0x2p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "jn (10, 0x2p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (10, 0xap+0)":
-double: 4
-float: 2
-idouble: 4
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (10, 0xcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (2, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (2, 0x2.67a2a5d2e36801p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (2, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-Test "jn (2, 0x2.67a2a5d2e368p+0)":
-double: 2
-idouble: 2
-ildouble: 3
-ldouble: 3
-Test "jn (2, 0x2.67a2a8p+0)":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-Test "jn (2, 0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x8p+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "jn (2, 0xf.fffb1p+96)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-Test "jn (2, 0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "jn (2, 0xf.fffffp+124)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (3, 0x2.67a2a4p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 5
-ldouble: 5
-Test "jn (3, 0x2.67a2a5d2e36801p+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (3, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a5d2e368p+0)":
-double: 3
-idouble: 3
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2.67a2a8p+0)":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "jn (3, 0x2p+0)":
-float: 1
-ifloat: 1
-Test "jn (3, 0x2p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 0xap+0)":
-double: 3
-idouble: 3
-ildouble: 2
-ldouble: 2
-Test "jn (3, 0xcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (4, 0x2.67a2a4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (4, 0x2.67a2a5d2e36801p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (4, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "jn (4, 0x2.67a2a5d2e368p+0)":
-double: 1
-idouble: 1
-Test "jn (4, 0x2.67a2a8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (5, 0x2.67a2a4p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (5, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (5, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (5, 0x2.67a2a5d2e36801p+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (5, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-ildouble: 3
-ldouble: 3
-Test "jn (5, 0x2.67a2a5d2e368p+0)":
-double: 2
-idouble: 2
-Test "jn (5, 0x2.67a2a8p+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a4p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (6, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 5
-ldouble: 5
-Test "jn (6, 0x2.67a2a5d2e36801p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (6, 0x2.67a2a5d2e3682p+0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "jn (6, 0x2.67a2a5d2e368p+0)":
-double: 4
-idouble: 4
-ildouble: 3
-ldouble: 3
-Test "jn (6, 0x2.67a2a8p+0)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a4p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (7, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (7, 0x2.67a2a5d2e36801p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (7, 0x2.67a2a5d2e3682p+0)":
-ildouble: 1
-ldouble: 1
-Test "jn (7, 0x2.67a2a5d2e368p+0)":
-double: 3
-idouble: 3
-ildouble: 2
-ldouble: 2
-Test "jn (7, 0x2.67a2a8p+0)":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-Test "jn (8, 0x2.67a2a4p+0)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cap+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (8, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (8, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (8, 0x2.67a2a5d2e36801p+0)":
-ildouble: 4
-ldouble: 4
-Test "jn (8, 0x2.67a2a5d2e3682p+0)":
-double: 1
-idouble: 1
-Test "jn (8, 0x2.67a2a5d2e368p+0)":
-double: 3
-idouble: 3
-Test "jn (8, 0x2.67a2a8p+0)":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 4
-ldouble: 4
-Test "jn (9, 0x2.67a2a4p+0)":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca66p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10ca68p+0)":
-ildouble: 3
-ldouble: 3
-Test "jn (9, 0x2.67a2a5d2e36800fce3e16f10cbp+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (9, 0x2.67a2a5d2e36800fcp+0)":
-ildouble: 7
-ldouble: 7
-Test "jn (9, 0x2.67a2a5d2e36801p+0)":
-ildouble: 2
-ldouble: 2
-Test "jn (9, 0x2.67a2a5d2e3682p+0)":
-double: 4
-idouble: 4
-ildouble: 3
-ldouble: 3
-Test "jn (9, 0x2.67a2a5d2e368p+0)":
-double: 1
-idouble: 1
-ildouble: 4
-ldouble: 4
-Test "jn (9, 0x2.67a2a8p+0)":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-
-# lgamma
-Test "lgamma (-0x1p-20)":
-double: 1
-idouble: 1
-Test "lgamma (-0x1p-40)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x1p-64)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x2p-16)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "lgamma (-0x4p-12)":
-double: 1
-idouble: 1
-Test "lgamma (-0x4p-32)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x8p-28)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x8p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (-0x8p-8)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x1.3333333333333332p+0)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x1.3333333333333333333333333333p+0)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x1p-60)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x4p-12)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x4p-32)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x4p-72)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0x8p-8)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.333333333333333p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "lgamma (0xb.333333333333p-4)":
-double: 1
-idouble: 1
-Test "lgamma (0xb.33333p-4)":
-double: 1
-idouble: 1
-
-# log
-Test "log (0x2.b7e151628aed2a68p+0)":
-ildouble: 1
-ldouble: 1
-Test "log (0x2.b7e151628aed2a6abf7158809cf4p+0)":
-ildouble: 1
-ldouble: 1
-Test "log (0x2.b7e151628aed2p+0)":
-ildouble: 1
-ldouble: 1
-Test "log (0x2.b7e15p+0)":
-float: 1
-ifloat: 1
-Test "log (0x4p-1076)":
-ildouble: 1
-ldouble: 1
-Test "log (0x4p-16384)":
-ildouble: 1
-ldouble: 1
-Test "log (0x4p-16448)":
-ildouble: 1
-ldouble: 1
-Test "log (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "log (0x8p-152)":
-ildouble: 1
-ldouble: 1
-
-# log10
-Test "log10 (0x1.999998p-4)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x1.999999999999ap-4)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x1.99999ap-4)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x2.b7e151628aed2a6cp+0)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x2.b7e154p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "log10 (0x4p-1024)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0x4p-16496)":
-ildouble: 1
-ldouble: 1
-Test "log10 (0xcp-4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-# log1p
-Test "log1p (-0x4p-4)":
-float: 1
-ifloat: 1
-Test "log1p (0x1.b7e151628aed2p+0)":
-ildouble: 1
-ldouble: 1
-Test "log1p (0x1.b7e15p+0)":
-float: 1
-ifloat: 1
-
-# log2
-Test "log2 (0x2.b7e151628aed2a6cp+0)":
-ildouble: 1
-ldouble: 1
-Test "log2 (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# pow
-Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow (0x1.0000000000001p+0, -0x2.468adp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow (0x1.000002p+0, 0x1p+24)":
-float: 1
-ifloat: 1
-Test "pow (0xap+0, -0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.341p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.343p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xap+0, 0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.fffffp-4, -0x1p+24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "pow (0xf.fffffp-4, 0x1p+24)":
-float: 1
-ifloat: 1
-
-# pow10
-Test "pow10 (-0x1.31p+8)":
-double: 1
-idouble: 1
-Test "pow10 (-0x1p+0)":
-double: 1
-idouble: 1
-Test "pow10 (-0x2.4p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x1.348e45573a1dd72cp+8)":
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x1.348e46p+8)":
-ildouble: 1
-ldouble: 1
-Test "pow10 (0x2.4p+4)":
-double: 1
-idouble: 1
-Test "pow10 (0x3p+0)":
-double: 1
-idouble: 1
-
-# pow_downward
-Test "pow_downward (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_tonearest
-Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde02468acf1357p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0x1.0000000000000000000000000001p+0, 0x2.468acf13579bde04p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0x1.0000000000001p+0, -0x2.468adp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0x1.000002p+0, 0x1p+24)":
-float: 1
-ifloat: 1
-Test "pow_tonearest (0xap+0, -0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.341p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.342p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.343p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xap+0, 0x1.344p+12)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xd.72cb2a95c7ef6cce81bf1e825ba8p+16380, 0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.ffffffffffff8p-4, -0x4.8d159e26af37cp+60)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.fffffffffffffffffffffffffff8p-4, -0x4.8d1598p+124)":
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.fffffp-4, -0x1p+24)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "pow_tonearest (0xf.fffffp-4, 0x1p+24)":
-float: 1
-ifloat: 1
-
-# pow_towardzero
-Test "pow_towardzero (1.5, 1.03125)":
-float: 1
-ifloat: 1
-
-# pow_upward
-Test "pow_upward (1.0625, 1.125)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-# sin
-Test "sin (-0x1.921fb4p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x1p+0)":
-float: 1
-ifloat: 1
-Test "sin (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.be736p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2a0250032a2p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2a04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3.ec2ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d08p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bf04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x4.c92d0ffa4bfp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x5.fbec7477d4a84p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin (0x5.fbec78p+0)":
-ildouble: 1
-ldouble: 1
-
-# sin_downward
-Test "sin_downward (-0x1.921fb4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x1.921fb6p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x2p+64)":
-double: 1
-idouble: 1
-Test "sin_downward (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c232dd99707abp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c23p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b2c24p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91c16b9b3p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (-0x8.60a91p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (-0x8.60a92p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x1p+120)":
-float: 1
-ifloat: 1
-Test "sin_downward (0x1p+28)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_downward (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x2.1e19e4p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x2.1e19ep+72)":
-float: 2
-ifloat: 2
-Test "sin_downward (0x2.553534p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x2.5535376715bap+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x2p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x3.be735c19be9fep+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9ffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9fffffffffffffffeap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735c19be9fffffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be735cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.be736p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a0000000000000072p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a0004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032a2p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a0250032ap+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2a04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3.ec2ap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x3p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.093385688a2d1508p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.093385688a2d4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.093388p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e153f70800000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e153f7084p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x4.1237e153f708p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237e8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.1237ep+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d08p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bf04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d0ffa4bfp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4.c92d1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x4p+48)":
-double: 1
-idouble: 1
-Test "sin_downward (0x5.fbec7477d4a8000000000000009cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5.fbec7477d4a84p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5.fbec7477d4a8p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x5.fbec78p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5.fbec7p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x5p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x6p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0x8p+0)":
-double: 1
-idouble: 1
-Test "sin_downward (0x8p+1020)":
-double: 1
-idouble: 1
-Test "sin_downward (0x9p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_downward (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_downward (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (0xc.d4966p-4)":
-double: 1
-idouble: 1
-Test "sin_downward (0xf.ffffcp+124)":
-double: 1
-idouble: 1
-Test "sin_downward (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_downward (0xf.fffffp+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# sin_tonearest
-Test "sin_tonearest (-0x1.921fb4p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x1.921fb54442d18p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x1.921fb54442d19p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x1p+0)":
-float: 1
-ifloat: 1
-Test "sin_tonearest (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.be736p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2a0250032a2p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2a04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3.ec2ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d08p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bf04p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x4.c92d0ffa4bfp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x5.fbec7477d4a84p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_tonearest (0x5.fbec78p+0)":
-ildouble: 1
-ldouble: 1
-
-# sin_towardzero
-Test "sin_towardzero (-0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (-0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (-0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (-0x8.60a91p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x1p+0)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (0x1p+28)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2.1e19ep+72)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x2.553534p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2.5535376715bap+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x3.be735c19beap+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x3.be735cp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_towardzero (0x3.ec2a0250032a000000000000007p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x3.ec2a04p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_towardzero (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.093385688a2d1508p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.093385688a2d4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.093388p-4)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.1237e153f7084p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.1237e8p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.1237ep+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.c92d0ffa4bf0000000000000008cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x4.c92d0ffa4bf04p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4.c92d0ffa4bfp+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x4p+48)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a80000000000000098p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a800000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a80008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7477d4a8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0x5.fbec7p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x8p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x8p+1020)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0x9p+0)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0xb.fa09ap+100)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0xc.d4966d92d1708p-4)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xc.d4966p-4)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xc.d4967p-4)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (0xe.ef3afp-4)":
-float: 1
-ifloat: 1
-Test "sin_towardzero (0xf.ffffcp+124)":
-double: 1
-idouble: 1
-Test "sin_towardzero (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_towardzero (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-
-# sin_upward
-Test "sin_upward (-0x1.921fb4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18468p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc517018p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc51701b8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc51701b9p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18469898cc51702p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d1846ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d18p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb54442d19p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x1.921fb6p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b28p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3d8p-4)":
-ildouble: 3
-ldouble: 3
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab3dp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707ab4p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c232dd99707abp-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c23p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b2c24p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91c16b9b3p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (-0x8.60a91p-4)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (-0x8.60a92p-4)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x1.921fb4p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x1.921fb6p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x1p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x1p+120)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_upward (0x1p+28)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x2.1e19ep+72)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x2.5535376715b9ep+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x2.553538p+0)":
-double: 1
-idouble: 1
-Test "sin_upward (0x2p+0)":
-float: 1
-ifloat: 1
-Test "sin_upward (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fep+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9ffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fffffffffffffffe8p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fffffffffffffffeap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19be9fffffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be735c19beap+0)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x3.be735cp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.be736p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a0000000000000072p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a000000000000007p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x3.ec2a0250032a00000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a0004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032a2p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a0250032ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2a04p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3.ec2ap+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x3p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x4.093385688a2d4p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x4.093385688a2dp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x4.09338p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x4.1237e153f7080000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e153f70800000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e153f7080008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e153f7084p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x4.1237e153f708p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237e8p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.1237ep+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d08p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf00000000000000088p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf0000000000000008cp+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x4.c92d0ffa4bf000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf00008p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bf04p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d0ffa4bfp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4.c92d1p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4p+0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x4p+48)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7477d4a80000000000000098p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec7477d4a8000000000000009cp+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7477d4a800000000000002p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec7477d4a80008p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec7477d4a84p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7477d4a8p+0)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0x5.fbec78p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5.fbec7p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x5p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x6p+0)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0x7p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sin_upward (0x8.60a91c16b9b3p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x8.60a91p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x8.60a92p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0x8p+0)":
-float: 1
-ifloat: 1
-Test "sin_upward (0x8p+124)":
-double: 1
-idouble: 1
-Test "sin_upward (0x9p+0)":
-float: 1
-ifloat: 1
-Test "sin_upward (0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0xb.fa09ap+100)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0xc.d4966d92d171p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xc.d4967p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xcp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3af1b5d8008p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3af1b5d8p-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3afp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xe.ef3bp-4)":
-double: 1
-idouble: 1
-Test "sin_upward (0xf.ffffcp+124)":
-ildouble: 1
-ldouble: 1
-Test "sin_upward (0xf.ffffffffffff8p+1020)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 2
-ldouble: 2
-Test "sin_upward (0xf.fffffp+124)":
-ildouble: 1
-ldouble: 1
-
-# sincos
-Test "sincos (0x1.0c1522p+0) extra output 1":
-float: 1
-ifloat: 1
-Test "sincos (0x1.921fb54442d1846ap+0) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x1.921fb54442d18p+0) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x1p+120) extra output 2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sincos (0x1p+28) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x2.1e19e0c9bab24p+72) extra output 1":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x2p+64) extra output 1":
-ildouble: 1
-ldouble: 1
-Test "sincos (0x8.60a92p-4) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0x8p+124) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0xc.d4967p-4) extra output 2":
-float: 1
-ifloat: 1
-Test "sincos (0xf.ffffffffffff8p+1020) extra output 2":
-ildouble: 1
-ldouble: 1
-Test "sincos (0xf.ffffffffffffbffffffffffffcp+1020) extra output 2":
-ildouble: 1
-ldouble: 1
-
-# sinh_downward
-Test "sinh_downward (0x1.6p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_downward (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_downward (0x1.8p+4)":
-ildouble: 1
-ldouble: 1
-Test "sinh_downward (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# sinh_towardzero
-Test "sinh_towardzero (0x1.6p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_towardzero (0x1.7p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_towardzero (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# sinh_upward
-Test "sinh_upward (0x1.7p+4)":
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (0x1.8p+4)":
-double: 1
-idouble: 1
-Test "sinh_upward (0x8p-32)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "sinh_upward (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# tan
-Test "tan (-0xc.90fdcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fdp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (-0xc.90fp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan (0x6p+0)":
-ildouble: 1
-ldouble: 1
-
-# tan_downward
-Test "tan_downward (-0x2p+64)":
-double: 1
-idouble: 1
-Test "tan_downward (-0xc.908p-4)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.90cp-4)":
-float: 1
-ifloat: 1
-Test "tan_downward (-0xc.90ep-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.90f8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fcp-4)":
-float: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fd8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdap-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdbp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fdp-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.90fep-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (-0xc.90fp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.91p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.92p-4)":
-double: 1
-idouble: 1
-Test "tan_downward (-0xc.98p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.9p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (-0xc.ap-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x1p+0)":
-double: 1
-idouble: 1
-Test "tan_downward (0x2.1e19e0c9bab24p+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x2.1e19ep+72)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x2p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x2p+64)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x3p+0)":
-double: 1
-idouble: 1
-Test "tan_downward (0x4p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x6p+0)":
-double: 1
-idouble: 1
-Test "tan_downward (0x7p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0x8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.908p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_downward (0xc.90cp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fcp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fdaa22168c8p-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fdbp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.90fdcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.90fdp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xc.90fep-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.91p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.92p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.94p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.98p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xc.ap-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_downward (0xcp-4)":
-double: 1
-idouble: 1
-Test "tan_downward (0xf.fffffp+124)":
-ildouble: 1
-ldouble: 1
-
-# tan_tonearest
-Test "tan_tonearest (-0xc.90fdcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (-0xc.90fdp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (-0xc.90fp-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (0x3p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan_tonearest (0x6p+0)":
-ildouble: 1
-ldouble: 1
-
-# tan_towardzero
-Test "tan_towardzero (-0x2p+64)":
-double: 1
-idouble: 1
-Test "tan_towardzero (-0xc.908p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_towardzero (-0xc.90cp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90f8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fcp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fd8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fdap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.90fdp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (-0xc.91p-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.94p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (-0xc.98p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (-0xc.ap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x1p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2.1e19e0c9bab24p+72)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2.1e19e4p+72)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0x2.1e19ep+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2p+0)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x5p+0)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0x7p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x8p+16380)":
-ildouble: 1
-ldouble: 1
-Test "tan_towardzero (0x9p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_towardzero (0xc.908p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_towardzero (0xc.90cp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.90fcp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.90fdaa22168c8p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.90fdp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.94p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xc.98p-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xcp-4)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "tan_towardzero (0xf.fffffp+124)":
-double: 1
-idouble: 1
-
-# tan_upward
-Test "tan_upward (-0xc.908p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.90cp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90ep-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.90f8p-4)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fd8p-4)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fdap-4)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tan_upward (-0xc.90fdbp-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (-0xc.90fdcp-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (-0xc.90fdp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.90fep-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (-0xc.90fp-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.91p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.94p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (-0xc.98p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.9p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (-0xc.ap-4)":
-ildouble: 1
-ldouble: 1
-Test "tan_upward (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
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x2p+64)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x4p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x5p+0)":
-double: 1
-idouble: 1
-Test "tan_upward (0x7p+0)":
-float: 1
-ifloat: 1
-Test "tan_upward (0x8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0x9p+0)":
-double: 1
-idouble: 1
-Test "tan_upward (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tan_upward (0xc.908p-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (0xc.90ep-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90f8p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90fd8p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90fdap-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.90fdbp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.90fdcp-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.90fep-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.90fp-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.91p-4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.92p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.94p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.98p-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xc.9p-4)":
-double: 1
-idouble: 1
-Test "tan_upward (0xc.ap-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tan_upward (0xcp-4)":
-float: 1
-ifloat: 1
-Test "tan_upward (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "tan_upward (0xf.fffffp+124)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-# tanh
-Test "tanh (-0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "tanh (-0xcp-4)":
-ildouble: 1
-ldouble: 1
-Test "tanh (0x1p+0)":
-ildouble: 1
-ldouble: 1
-Test "tanh (0xcp-4)":
-ildouble: 1
-ldouble: 1
-
-# tgamma
-Test "tgamma (-0x1.0000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.0000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.000002p+0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x1.3ffffep+4)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.3ffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.3fffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.3ffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.4000000000000000000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.4000000000001p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.400002p+4)":
-float: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-Test "tgamma (-0x1.dffffep+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.dfffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.dffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.e000000000000000000000000001p+4)":
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0x1.e00000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.e000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.e000000000001p+4)":
-double: 3
-idouble: 3
-Test "tgamma (-0x1.e00002p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.f3ffffffffffffffffffffffff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.f3ffffffffffffffffffffffffffp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.f3fffffffffffp+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x1.f40000000000000000000000008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.f40002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.fffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x1.fffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.0000000000000000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.00000000000000000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.0000000000002p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x2.000004p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.146544p+4)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.7fffffffffffep+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.7ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.7ffffffffffffffffffffffffffep+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.7fffffffffffffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.80000000000000000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8000000000002p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.800004p+4)":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.8fffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8ffffffffffffffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.8p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (-0x2.9000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.90000000000000000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.900004p+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x2.9ffffcp+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x2.9fffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.9ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.9ffffffffffffffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.9fffffffffffffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.a00004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.edfffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.edffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.edfffffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.ee00000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.ee00000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x2.ee00000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.ee0004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.fffffcp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x2.ffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x2.fffffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.00000000000000000000000001p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.000004p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x3.1ffffcp+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.1fffffffffffep+4)":
-double: 3
-idouble: 3
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.1ffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.1ffffffffffffffffffffffffffep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.1fffffffffffffffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.2000000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.2000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.200004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e7fffffffffffffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e7fffffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e7ffffffffffffffffffffffffp+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e800000000000000000000000002p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e8000000000000000000000001p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e800000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.e800000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.e80004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x3.fffffcp+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x3.ffffffffffffep+0)":
-double: 2
-idouble: 2
-Test "tgamma (-0x3.fffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x3.fffffffffffffffffffffffffffep+0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x4.000008p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e1fffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e2000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e200000000000008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e200000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.e20008p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x4.fffff8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x4.ffffffffffffcp+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x4.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x4.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.0000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.000008p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x5.8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x5.dbfffffffffffff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dbfffffffffffffffffffffffffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dc00000000000000000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x5.dc000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dc00000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.dc0008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.fffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.ffffffffffffcp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.fffffffffffffff8p+0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x5.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x5.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.00000000000000000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.000008p+0)":
-float: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.3ffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.3fffffffffffcp+4)":
-double: 2
-idouble: 2
-Test "tgamma (-0x6.3ffffffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.3ffffffffffffffffffffffffep+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.4000000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.40000000000000000000000002p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.4000000000004p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.400008p+4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5fff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5ffffffffffcp+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5fffffffffffff8p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d5fffffffffffffffffffffffep+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d600000000000000000000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d6000000000000000000000002p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.d600000000000008p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.d600000000004p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.e2fffffffffffffffffffffffep+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.e300000000000000000000000004p+8)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.e3000000000000000000000002p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x6.fffff8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x6.ffffffffffffcp+0)":
-double: 4
-idouble: 4
-Test "tgamma (-0x6.fffffffffffffff8p+0)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x6.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.0000000000004p+0)":
-double: 3
-idouble: 3
-Test "tgamma (-0x7.000008p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x7.8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (-0x7.fffff8p+0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "tgamma (-0x7.ffffffffffffcp+0)":
-double: 3
-idouble: 3
-Test "tgamma (-0x7.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x7.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.0000000000000000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.00000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.0000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.00001p+0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x8.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x8p-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x9.5ffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.5ffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.60000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.600000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0x9.6000000000008p+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x9.60001p+4)":
-double: 1
-idouble: 1
-Test "tgamma (-0x9.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (-0x9.ffffffffffff8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (-0x9.fffffffffffffffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0x9.fffffp+0)":
-float: 1
-ifloat: 1
-Test "tgamma (-0xa.00001p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xa.c000000400008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xa.c0001p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.4ffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.4ffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.4ffffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.50000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.500000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.5000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.5ffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.5ffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.60000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.600000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6fffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6ffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.6ffffffffffffffffffffffffff8p+4)":
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0xb.7000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.700000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.7000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.70001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.7ffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.7ffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.800000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.bfffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.bffffffffffffffffffffffffcp+4)":
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0xb.bffffffffffffffffffffffffff8p+4)":
-ildouble: 4
-ldouble: 4
-Test "tgamma (-0xb.bffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.c000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.c0000000000000000000000004p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.c00000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.c000000000008p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.c0001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cfffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.cffffffffffffffffffffffffcp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cffffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.cffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.d000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.d00000000000001p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.dfffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.dffffffffffffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.dffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.e000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.e000000000008p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xb.e0001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.efffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.effffffffffffffffffffffffff8p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.effffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f0000000000000000000000004p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f00000000000001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xb.f0001p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.9fffffffffff8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xf.9ffffffffffffffp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.9ffffp+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xf.a000000000000000000000000008p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.a0000000000000000000000004p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xf.a000000000008p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (-0xf.a0001p+4)":
-ildouble: 3
-ldouble: 3
-Test "tgamma (-0xf.ffffffffffff8p-4)":
-double: 1
-idouble: 1
-Test "tgamma (-0xf.fffffffffffffffffffffffffff8p-4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (-0xf.fffffp-4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1.28p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.38p+4)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1.78p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.d8p+4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x1.e8p+4)":
-float: 1
-ifloat: 1
-Test "tgamma (0x1.fffffep+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x1.fffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1.ffffffffffffffffffffffffffffp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1.fffffffffffffp+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x1p-24)":
-float: 1
-ifloat: 1
-Test "tgamma (0x2.08p+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x2.18p+4)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x2.28p+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "tgamma (0x2.30a43cp+4)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-Test "tgamma (0x2.8p+0)":
-float: 2
-ifloat: 2
-Test "tgamma (0x2.fffffcp+0)":
-float: 3
-ifloat: 3
-Test "tgamma (0x2.ffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.0000000000002p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.8p+0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.fffffcp+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x3.ffffffffffffep+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.fffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3.fffffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x3p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x4.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4.0000000000004p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x4.000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x4.ffffffffffffcp+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x4p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x5.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.0000000000004p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x5.000008p+0)":
-float: 2
-ifloat: 2
-Test "tgamma (0x5.fffff8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x5.ffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x5.fffffffffffffffffffffffffep+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.0000000000004p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x6.000008p+0)":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.8p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x6.db8c603359a94p+8)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.fffff8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6.ffffffffffffcp+0)":
-double: 4
-idouble: 4
-Test "tgamma (0x6.fffffffffffffff8p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x6p+0)":
-float: 1
-ifloat: 1
-Test "tgamma (0x7.0000000000000000000000000004p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.0000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.0000000000004p+0)":
-double: 4
-idouble: 4
-Test "tgamma (0x7.000008p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x7.8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (0x7.fffff8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "tgamma (0x7.ffffffffffffcp+0)":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7.fffffffffffffffffffffffffffcp+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x7p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x8.0000000000000000000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.0000000000008p+0)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8.00001p+0)":
-double: 2
-idouble: 2
-Test "tgamma (0x8.8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0x8p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0x8p-116)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x8p-4)":
-float: 1
-ifloat: 1
-Test "tgamma (0x8p-56)":
-double: 1
-idouble: 1
-Test "tgamma (0x9.8p+0)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0x9p+0)":
-double: 1
-idouble: 1
-Test "tgamma (0xa.b9fd72b0fb238p+4)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xa.b9fd72b0fb23a9ddbf0d3804f8p+4)":
-ildouble: 2
-ldouble: 2
-Test "tgamma (0xa.b9fd72b0fb23a9dp+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xa.b9fd72b0fb23a9ep+4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xa.b9fd7p+4)":
-double: 2
-idouble: 2
-Test "tgamma (0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0xb.3333333333333333333333333338p-4)":
-ildouble: 1
-ldouble: 1
-Test "tgamma (0xb.3333333333338p-4)":
-ildouble: 1
-ldouble: 1
-
-# y0
-Test "y0 (0x1.8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (0x1.ff00000000002p+840)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-20)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-40)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x1p-60)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x1p-80)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y0 (0x4.ffcp+72)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p+16380)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p-112)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p-12)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y0 (0x4p-32)":
-float: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y0 (0x4p-52)":
-float: 1
-ifloat: 1
-Test "y0 (0x4p-72)":
-double: 1
-idouble: 1
-Test "y0 (0x8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "y0 (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "y0 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "y0 (0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "y0 (0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-Test "y0 (0xf.fffffp+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# y1
-Test "y1 (0x1.8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-100)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-20)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x1p-80)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x2.002000002p+592)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x2p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "y1 (0x2p-4)":
-double: 1
-idouble: 1
-Test "y1 (0x4p-112)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-12)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-32)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-72)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x4p-92)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x8p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "y1 (0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "y1 (0x9.3f102p+96)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "y1 (0xap+0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "y1 (0xf.ffffffffffff8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0xf.ffffffffffffbffffffffffffcp+1020)":
-ildouble: 1
-ldouble: 1
-Test "y1 (0xf.fffffp+124)":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-# yn
-Test "yn (-10, 0x1p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "yn (0, 0x1.8p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 0x1p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 0x8p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "yn (0, 0xap+0)":
-float: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "yn (1, 0x1.8p+0)":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (1, 0x2p+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (1, 0x2p-4)":
-double: 1
-idouble: 1
-Test "yn (1, 0x8p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "yn (1, 0xap+0)":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (10, 0x1p+0)":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-Test "yn (10, 0x2p+0)":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-Test "yn (10, 0x2p-4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-Test "yn (10, 0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-Test "yn (10, 0xcp-4)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 4
-ldouble: 4
-Test "yn (2, 0x8p+1020)":
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0x8p+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0x8p+16380)":
-ildouble: 2
-ldouble: 2
-Test "yn (2, 0xf.fffb1p+96)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0xf.ffffffffffff8p+1020)":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-Test "yn (2, 0xf.fffffp+124)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 0x2p+0)":
-double: 1
-idouble: 1
-Test "yn (3, 0x2p-4)":
-double: 1
-idouble: 1
-Test "yn (3, 0xap+0)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-Test "yn (3, 0xcp-4)":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-# Maximal error of functions:
-Function: "acos_downward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_towardzero":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "acos_upward":
-double: 1
-idouble: 1
-
-Function: "acosh":
-double: 1
-idouble: 1
-ldouble: 1
-
-Function: "asin":
-ildouble: 1
-ldouble: 1
-
-Function: "asin_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "asin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "asin_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "asinh":
-double: 1
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "atanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "casin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "casinh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: Real part of "catan":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "catanh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cbrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "cexp":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "cexp":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "clog":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "cos":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_downward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "cos_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cos_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "cosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 2
-
-Function: "cosh_tonearest":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "cosh_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 2
-
-Function: "cosh_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 3
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "cpow":
-float: 2
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csin":
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctan":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctan_downward":
-double: 6
-float: 5
-idouble: 6
-ifloat: 5
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "ctan_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 5
-ldouble: 5
-
-Function: Real part of "ctan_tonearest":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctan_tonearest":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctan_towardzero":
-double: 5
-float: 3
-idouble: 5
-ifloat: 3
-ildouble: 4
-ldouble: 4
-
-Function: Imaginary part of "ctan_towardzero":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 5
-ldouble: 5
-
-Function: Real part of "ctan_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 5
-ldouble: 5
-
-Function: Imaginary part of "ctan_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_downward":
-double: 4
-float: 1
-idouble: 4
-ifloat: 1
-ildouble: 5
-ldouble: 5
-
-Function: Imaginary part of "ctanh_downward":
-double: 6
-float: 5
-idouble: 6
-ifloat: 5
-ildouble: 4
-ldouble: 4
-
-Function: Real part of "ctanh_tonearest":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctanh_tonearest":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_towardzero":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 5
-ldouble: 5
-
-Function: Imaginary part of "ctanh_towardzero":
-double: 5
-float: 3
-idouble: 5
-ifloat: 3
-ildouble: 3
-ldouble: 3
-
-Function: Real part of "ctanh_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 3
-ldouble: 3
-
-Function: Imaginary part of "ctanh_upward":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-ildouble: 5
-ldouble: 5
-
-Function: "erf":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "erfc":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10_downward":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: "exp10_tonearest":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "exp10_towardzero":
-double: 1
-idouble: 1
-ildouble: 2
-ldouble: 2
-
-Function: "exp10_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "exp2":
-ildouble: 1
-ldouble: 1
-
-Function: "exp_downward":
-double: 1
-idouble: 1
-
-Function: "exp_towardzero":
-double: 1
-idouble: 1
-
-Function: "exp_upward":
-double: 1
-idouble: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_tonearest":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "expm1_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "gamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "hypot":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 4
-ldouble: 4
-
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-ildouble: 7
-ldouble: 7
-
-Function: "lgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "log1p":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "log2":
-ildouble: 1
-ldouble: 1
-
-Function: "pow":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_downward":
-float: 1
-ifloat: 1
-
-Function: "pow_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow_towardzero":
-float: 1
-ifloat: 1
-
-Function: "pow_upward":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_downward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "sin_tonearest":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sin_upward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 3
-ldouble: 3
-
-Function: "sincos":
-float: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_downward":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_towardzero":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "sinh_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "tan":
-ildouble: 1
-ldouble: 1
-
-Function: "tan_downward":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-ildouble: 1
-ldouble: 1
-
-Function: "tan_tonearest":
-ildouble: 1
-ldouble: 1
-
-Function: "tan_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 1
-ldouble: 1
-
-Function: "tan_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "tanh":
-ildouble: 1
-ldouble: 1
-
-Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-ildouble: 4
-ldouble: 4
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 2
-ldouble: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-ildouble: 4
-ldouble: 4
-
-# end of automatic generation
diff --git a/ports/sysdeps/alpha/fpu/math_private.h b/ports/sysdeps/alpha/fpu/math_private.h
deleted file mode 100644
index 22ab3b9..0000000
--- a/ports/sysdeps/alpha/fpu/math_private.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef ALPHA_MATH_PRIVATE_H
-#define ALPHA_MATH_PRIVATE_H 1
-
-/* In bits/mathinline.h we define __isnan et al.
- In sysdeps/alpha/fpu/s_isnan.c we move the identifier out of the way
- via macro hackery. In both cases, tell math/math_private.h that
- we have a local copy of the function. */
-
-#ifndef __isnan
-# define __isnan __isnan
-#endif
-#ifndef __isnanf
-# define __isnanf __isnanf
-#endif
-
-#include_next <math_private.h>
-
-#ifdef __alpha_fix__
-extern __always_inline double
-__ieee754_sqrt (double d)
-{
- double ret;
-# ifdef _IEEE_FP_INEXACT
- asm ("sqrtt/suid %1,%0" : "=f"(ret) : "f"(d));
-# else
- asm ("sqrtt/sud %1,%0" : "=f"(ret) : "f"(d));
-# endif
- return ret;
-}
-
-extern __always_inline float
-__ieee754_sqrtf (float d)
-{
- float ret;
-# ifdef _IEEE_FP_INEXACT
- asm ("sqrts/suid %1,%0" : "=f"(ret) : "f"(d));
-# else
- asm ("sqrts/sud %1,%0" : "=f"(ret) : "f"(d));
-# endif
- return ret;
-}
-#endif /* FIX */
-
-#endif /* ALPHA_MATH_PRIVATE_H */
diff --git a/ports/sysdeps/alpha/fpu/s_cacosf.c b/ports/sysdeps/alpha/fpu/s_cacosf.c
deleted file mode 100644
index fa1fe75..0000000
--- a/ports/sysdeps/alpha/fpu/s_cacosf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return arc cosine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cacosf __cacosf_not_defined
-#define cacosf cacosf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cacosf
-#undef cacosf
-#define __cacosf internal_cacosf
-
-static _Complex float internal_cacosf (_Complex float x);
-
-#include <math/s_cacosf.c>
-#include "cfloat-compat.h"
-
-#undef __cacosf
-
-c1_cfloat_rettype
-__c1_cacosf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_cacosf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cacosf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_cacosf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (cacosf);
diff --git a/ports/sysdeps/alpha/fpu/s_cacoshf.c b/ports/sysdeps/alpha/fpu/s_cacoshf.c
deleted file mode 100644
index 81eec28..0000000
--- a/ports/sysdeps/alpha/fpu/s_cacoshf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return arc hyperbole cosine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cacoshf __cacoshf_not_defined
-#define cacoshf cacoshf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cacoshf
-#undef cacoshf
-#define __cacoshf internal_cacoshf
-
-static _Complex float internal_cacoshf (_Complex float x);
-
-#include <math/s_cacoshf.c>
-#include "cfloat-compat.h"
-
-#undef __cacoshf
-
-c1_cfloat_rettype
-__c1_cacoshf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_cacoshf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cacoshf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_cacoshf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (cacoshf);
diff --git a/ports/sysdeps/alpha/fpu/s_casinf.c b/ports/sysdeps/alpha/fpu/s_casinf.c
deleted file mode 100644
index bae1367..0000000
--- a/ports/sysdeps/alpha/fpu/s_casinf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return arc sine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __casinf __casinf_not_defined
-#define casinf casinf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __casinf
-#undef casinf
-#define __casinf internal_casinf
-
-static _Complex float internal_casinf (_Complex float x);
-
-#include <math/s_casinf.c>
-#include "cfloat-compat.h"
-
-#undef __casinf
-
-c1_cfloat_rettype
-__c1_casinf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_casinf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_casinf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_casinf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (casinf);
diff --git a/ports/sysdeps/alpha/fpu/s_casinhf.c b/ports/sysdeps/alpha/fpu/s_casinhf.c
deleted file mode 100644
index 717c15c..0000000
--- a/ports/sysdeps/alpha/fpu/s_casinhf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return arc hyperbole sine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __casinhf __casinhf_not_defined
-#define casinhf casinhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __casinhf
-#undef casinhf
-#define __casinhf internal_casinhf
-
-static _Complex float internal_casinhf (_Complex float x);
-
-#include <math/s_casinhf.c>
-#include "cfloat-compat.h"
-
-#undef __casinhf
-
-c1_cfloat_rettype
-__c1_casinhf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_casinhf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_casinhf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_casinhf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (casinhf);
diff --git a/ports/sysdeps/alpha/fpu/s_catanf.c b/ports/sysdeps/alpha/fpu/s_catanf.c
deleted file mode 100644
index dc2060e..0000000
--- a/ports/sysdeps/alpha/fpu/s_catanf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return arc tangent of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __catanf __catanf_not_defined
-#define catanf catanf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __catanf
-#undef catanf
-#define __catanf internal_catanf
-
-static _Complex float internal_catanf (_Complex float x);
-
-#include <math/s_catanf.c>
-#include "cfloat-compat.h"
-
-#undef __catanf
-
-c1_cfloat_rettype
-__c1_catanf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_catanf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_catanf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_catanf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (catanf);
diff --git a/ports/sysdeps/alpha/fpu/s_catanhf.c b/ports/sysdeps/alpha/fpu/s_catanhf.c
deleted file mode 100644
index 1e46a52..0000000
--- a/ports/sysdeps/alpha/fpu/s_catanhf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return arc hyperbole tangent of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __catanhf __catanhf_not_defined
-#define catanhf catanhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __catanhf
-#undef catanhf
-#define __catanhf internal_catanhf
-
-static _Complex float internal_catanhf (_Complex float x);
-
-#include <math/s_catanhf.c>
-#include "cfloat-compat.h"
-
-#undef __catanhf
-
-c1_cfloat_rettype
-__c1_catanhf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_catanhf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_catanhf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_catanhf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (catanhf);
diff --git a/ports/sysdeps/alpha/fpu/s_ccosf.c b/ports/sysdeps/alpha/fpu/s_ccosf.c
deleted file mode 100644
index 1ac5da3..0000000
--- a/ports/sysdeps/alpha/fpu/s_ccosf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return cosine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __ccosf __ccosf_not_defined
-#define ccosf ccosf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ccosf
-#undef ccosf
-#define __ccosf internal_ccosf
-
-static _Complex float internal_ccosf (_Complex float x);
-
-#include <math/s_ccosf.c>
-#include "cfloat-compat.h"
-
-#undef __ccosf
-
-c1_cfloat_rettype
-__c1_ccosf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_ccosf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ccosf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_ccosf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (ccosf);
diff --git a/ports/sysdeps/alpha/fpu/s_ccoshf.c b/ports/sysdeps/alpha/fpu/s_ccoshf.c
deleted file mode 100644
index 1d68158..0000000
--- a/ports/sysdeps/alpha/fpu/s_ccoshf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return hyperbole cosine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __ccoshf __ccoshf_not_defined
-#define ccoshf ccoshf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ccoshf
-#undef ccoshf
-#define __ccoshf internal_ccoshf
-
-static _Complex float internal_ccoshf (_Complex float x);
-
-#include <math/s_ccoshf.c>
-#include "cfloat-compat.h"
-
-#undef __ccoshf
-
-c1_cfloat_rettype
-__c1_ccoshf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_ccoshf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ccoshf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_ccoshf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (ccoshf);
diff --git a/ports/sysdeps/alpha/fpu/s_ceil.c b/ports/sysdeps/alpha/fpu/s_ceil.c
deleted file mode 100644
index 87ce984..0000000
--- a/ports/sysdeps/alpha/fpu/s_ceil.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-/* Use the -inf rounding mode conversion instructions to implement
- ceil, via something akin to -floor(-x). This is much faster than
- playing with the fpcr to achieve +inf rounding mode. */
-
-double
-__ceil (double x)
-{
- if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
- {
- double tmp1, new_x;
-
- new_x = -x;
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "cvttq/svim %2,%1\n\t"
-#else
- "cvttq/svm %2,%1\n\t"
-#endif
- "cvtqt/m %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1)
- : "f"(new_x));
-
- /* Fix up the negation we did above, as well as handling -0 properly. */
- x = copysign(new_x, x);
- }
- return x;
-}
-
-weak_alias (__ceil, ceil)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__ceil, __ceill)
-weak_alias (__ceil, ceill)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __ceil, ceill, GLIBC_2_0);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_ceilf.c b/ports/sysdeps/alpha/fpu/s_ceilf.c
deleted file mode 100644
index 6d88fbe..0000000
--- a/ports/sysdeps/alpha/fpu/s_ceilf.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-/* Use the -inf rounding mode conversion instructions to implement
- ceil, via something akin to -floor(-x). This is much faster than
- playing with the fpcr to achieve +inf rounding mode. */
-
-float
-__ceilf (float x)
-{
- if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
- {
- /* Note that Alpha S_Floating is stored in registers in a
- restricted T_Floating format, so we don't even need to
- convert back to S_Floating in the end. The initial
- conversion to T_Floating is needed to handle denormals. */
-
- float tmp1, tmp2, new_x;
-
- new_x = -x;
- __asm ("cvtst/s %3,%2\n\t"
-#ifdef _IEEE_FP_INEXACT
- "cvttq/svim %2,%1\n\t"
-#else
- "cvttq/svm %2,%1\n\t"
-#endif
- "cvtqt/m %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
- : "f"(new_x));
-
- /* Fix up the negation we did above, as well as handling -0 properly. */
- x = copysignf(new_x, x);
- }
- return x;
-}
-
-weak_alias (__ceilf, ceilf)
diff --git a/ports/sysdeps/alpha/fpu/s_cexpf.c b/ports/sysdeps/alpha/fpu/s_cexpf.c
deleted file mode 100644
index d925a81..0000000
--- a/ports/sysdeps/alpha/fpu/s_cexpf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return exponent of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cexpf __cexpf_not_defined
-#define cexpf cexpf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cexpf
-#undef cexpf
-#define __cexpf internal_cexpf
-
-static _Complex float internal_cexpf (_Complex float x);
-
-#include <math/s_cexpf.c>
-#include "cfloat-compat.h"
-
-#undef __cexpf
-
-c1_cfloat_rettype
-__c1_cexpf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_cexpf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cexpf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_cexpf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (cexpf);
diff --git a/ports/sysdeps/alpha/fpu/s_clog10f.c b/ports/sysdeps/alpha/fpu/s_clog10f.c
deleted file mode 100644
index ba6515f..0000000
--- a/ports/sysdeps/alpha/fpu/s_clog10f.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Return base 10 logarithm of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __clog10f __clog10f_not_defined
-#define clog10f clog10f_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __clog10f
-#undef clog10f
-#define __clog10f internal_clog10f
-
-static _Complex float internal_clog10f (_Complex float x);
-
-#include <math/s_clog10f.c>
-#include "cfloat-compat.h"
-
-#undef __clog10f
-
-c1_cfloat_rettype
-__c1_clog10f (c1_cfloat_decl (x))
-{
- _Complex float r = internal_clog10f (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_clog10f (c2_cfloat_decl (x))
-{
- _Complex float r = internal_clog10f (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-/* Ug. __clog10f was exported from GLIBC_2.1. This is the only
- complex function whose double-underscore symbol was exported,
- so we get to handle that specially. */
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_3_4)
-strong_alias (__c1_clog10f, __c1_clog10f_2);
-compat_symbol (libm, __c1_clog10f, clog10f, GLIBC_2_1);
-compat_symbol (libm, __c1_clog10f_2, __clog10f, GLIBC_2_1);
-#endif
-versioned_symbol (libm, __c2_clog10f, clog10f, GLIBC_2_3_4);
-extern typeof(__c2_clog10f) __clog10f attribute_hidden;
-strong_alias (__c2_clog10f, __clog10f)
diff --git a/ports/sysdeps/alpha/fpu/s_clogf.c b/ports/sysdeps/alpha/fpu/s_clogf.c
deleted file mode 100644
index 2e51820..0000000
--- a/ports/sysdeps/alpha/fpu/s_clogf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return natural logarithm of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __clogf __clogf_not_defined
-#define clogf clogf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __clogf
-#undef clogf
-#define __clogf internal_clogf
-
-static _Complex float internal_clogf (_Complex float x);
-
-#include <math/s_clogf.c>
-#include "cfloat-compat.h"
-
-#undef __clogf
-
-c1_cfloat_rettype
-__c1_clogf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_clogf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_clogf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_clogf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (clogf);
diff --git a/ports/sysdeps/alpha/fpu/s_copysign.c b/ports/sysdeps/alpha/fpu/s_copysign.c
deleted file mode 100644
index 13f5f1b..0000000
--- a/ports/sysdeps/alpha/fpu/s_copysign.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-double
-__copysign (double x, double y)
-{
- return __builtin_copysign (x, y);
-}
-
-weak_alias (__copysign, copysign)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__copysign, __copysignl)
-weak_alias (__copysign, copysignl)
-#endif
-#ifdef IS_IN_libm
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_copysignf.c b/ports/sysdeps/alpha/fpu/s_copysignf.c
deleted file mode 100644
index 2e68f4f..0000000
--- a/ports/sysdeps/alpha/fpu/s_copysignf.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-float
-__copysignf (float x, float y)
-{
- return __builtin_copysignf (x, y);
-}
-
-weak_alias (__copysignf, copysignf)
diff --git a/ports/sysdeps/alpha/fpu/s_cpowf.c b/ports/sysdeps/alpha/fpu/s_cpowf.c
deleted file mode 100644
index 8e1903a..0000000
--- a/ports/sysdeps/alpha/fpu/s_cpowf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return power of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cpowf __cpowf_not_defined
-#define cpowf cpowf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cpowf
-#undef cpowf
-#define __cpowf internal_cpowf
-
-static _Complex float internal_cpowf (_Complex float x, _Complex float c);
-
-#include <math/s_cpowf.c>
-#include "cfloat-compat.h"
-
-#undef __cpowf
-
-c1_cfloat_rettype
-__c1_cpowf (c1_cfloat_decl (x), c1_cfloat_decl (c))
-{
- _Complex float r = internal_cpowf (c1_cfloat_value (x), c1_cfloat_value (c));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cpowf (c2_cfloat_decl (x), c2_cfloat_decl (c))
-{
- _Complex float r = internal_cpowf (c2_cfloat_value (x), c2_cfloat_value (c));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (cpowf);
diff --git a/ports/sysdeps/alpha/fpu/s_cprojf.c b/ports/sysdeps/alpha/fpu/s_cprojf.c
deleted file mode 100644
index 72ff735..0000000
--- a/ports/sysdeps/alpha/fpu/s_cprojf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return projection of complex float value to Riemann sphere.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __cprojf __cprojf_not_defined
-#define cprojf cprojf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __cprojf
-#undef cprojf
-#define __cprojf internal_cprojf
-
-static _Complex float internal_cprojf (_Complex float x);
-
-#include <math/s_cprojf.c>
-#include "cfloat-compat.h"
-
-#undef __cprojf
-
-c1_cfloat_rettype
-__c1_cprojf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_cprojf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_cprojf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_cprojf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (cprojf);
diff --git a/ports/sysdeps/alpha/fpu/s_csinf.c b/ports/sysdeps/alpha/fpu/s_csinf.c
deleted file mode 100644
index 6a53ec8..0000000
--- a/ports/sysdeps/alpha/fpu/s_csinf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return sine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __csinf __csinf_not_defined
-#define csinf csinf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __csinf
-#undef csinf
-#define __csinf internal_csinf
-
-static _Complex float internal_csinf (_Complex float x);
-
-#include <math/s_csinf.c>
-#include "cfloat-compat.h"
-
-#undef __csinf
-
-c1_cfloat_rettype
-__c1_csinf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_csinf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_csinf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_csinf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (csinf);
diff --git a/ports/sysdeps/alpha/fpu/s_csinhf.c b/ports/sysdeps/alpha/fpu/s_csinhf.c
deleted file mode 100644
index ffc8fc1..0000000
--- a/ports/sysdeps/alpha/fpu/s_csinhf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return hyperbole sine of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __csinhf __csinhf_not_defined
-#define csinhf csinhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __csinhf
-#undef csinhf
-#define __csinhf internal_csinhf
-
-static _Complex float internal_csinhf (_Complex float x);
-
-#include <math/s_csinhf.c>
-#include "cfloat-compat.h"
-
-#undef __csinhf
-
-c1_cfloat_rettype
-__c1_csinhf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_csinhf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_csinhf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_csinhf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (csinhf);
diff --git a/ports/sysdeps/alpha/fpu/s_csqrtf.c b/ports/sysdeps/alpha/fpu/s_csqrtf.c
deleted file mode 100644
index 3fc3c17..0000000
--- a/ports/sysdeps/alpha/fpu/s_csqrtf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return square root of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __csqrtf __csinhf_not_defined
-#define csqrtf csqrtf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __csqrtf
-#undef csqrtf
-#define __csqrtf internal_csqrtf
-
-static _Complex float internal_csqrtf (_Complex float x);
-
-#include <math/s_csqrtf.c>
-#include "cfloat-compat.h"
-
-#undef __csqrtf
-
-c1_cfloat_rettype
-__c1_csqrtf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_csqrtf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_csqrtf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_csqrtf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (csqrtf);
diff --git a/ports/sysdeps/alpha/fpu/s_ctanf.c b/ports/sysdeps/alpha/fpu/s_ctanf.c
deleted file mode 100644
index 75028e3..0000000
--- a/ports/sysdeps/alpha/fpu/s_ctanf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return tangent of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __ctanf __ctanf_not_defined
-#define ctanf ctanf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ctanf
-#undef ctanf
-#define __ctanf internal_ctanf
-
-static _Complex float internal_ctanf (_Complex float x);
-
-#include <math/s_ctanf.c>
-#include "cfloat-compat.h"
-
-#undef __ctanf
-
-c1_cfloat_rettype
-__c1_ctanf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_ctanf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ctanf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_ctanf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (ctanf);
diff --git a/ports/sysdeps/alpha/fpu/s_ctanhf.c b/ports/sysdeps/alpha/fpu/s_ctanhf.c
deleted file mode 100644
index 6c639e0..0000000
--- a/ports/sysdeps/alpha/fpu/s_ctanhf.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Return hyperbole tangent of complex float value.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __ctanhf __ctanhf_not_defined
-#define ctanhf ctanhf_not_defined
-
-#include <complex.h>
-#include <math.h>
-
-#undef __ctanhf
-#undef ctanhf
-#define __ctanhf internal_ctanhf
-
-static _Complex float internal_ctanhf (_Complex float x);
-
-#include <math/s_ctanhf.c>
-#include "cfloat-compat.h"
-
-#undef __ctanhf
-
-c1_cfloat_rettype
-__c1_ctanhf (c1_cfloat_decl (x))
-{
- _Complex float r = internal_ctanhf (c1_cfloat_value (x));
- return c1_cfloat_return (r);
-}
-
-c2_cfloat_rettype
-__c2_ctanhf (c2_cfloat_decl (x))
-{
- _Complex float r = internal_ctanhf (c2_cfloat_value (x));
- return c2_cfloat_return (r);
-}
-
-cfloat_versions (ctanhf);
diff --git a/ports/sysdeps/alpha/fpu/s_fabs.c b/ports/sysdeps/alpha/fpu/s_fabs.c
deleted file mode 100644
index b6f8669..0000000
--- a/ports/sysdeps/alpha/fpu/s_fabs.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-double
-__fabs (double x)
-{
- return __builtin_fabs (x);
-}
-
-weak_alias (__fabs, fabs)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fabs, __fabsl)
-weak_alias (__fabs, fabsl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_fabsf.c b/ports/sysdeps/alpha/fpu/s_fabsf.c
deleted file mode 100644
index 59b7f0e..0000000
--- a/ports/sysdeps/alpha/fpu/s_fabsf.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-float
-__fabsf (float x)
-{
- return __builtin_fabsf (x);
-}
-
-weak_alias (__fabsf, fabsf)
diff --git a/ports/sysdeps/alpha/fpu/s_floor.c b/ports/sysdeps/alpha/fpu/s_floor.c
deleted file mode 100644
index 82d9e2e..0000000
--- a/ports/sysdeps/alpha/fpu/s_floor.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-/* Use the -inf rounding mode conversion instructions to implement
- floor. We note when the exponent is large enough that the value
- must be integral, as this avoids unpleasant integer overflows. */
-
-double
-__floor (double x)
-{
- if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
- {
- double tmp1, new_x;
-
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "cvttq/svim %2,%1\n\t"
-#else
- "cvttq/svm %2,%1\n\t"
-#endif
- "cvtqt/m %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1)
- : "f"(x));
-
- /* floor(-0) == -0, and in general we'll always have the same
- sign as our input. */
- x = copysign(new_x, x);
- }
- return x;
-}
-
-weak_alias (__floor, floor)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__floor, __floorl)
-weak_alias (__floor, floorl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __floor, floorl, GLIBC_2_0);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_floorf.c b/ports/sysdeps/alpha/fpu/s_floorf.c
deleted file mode 100644
index fe4c40b..0000000
--- a/ports/sysdeps/alpha/fpu/s_floorf.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-
-/* Use the -inf rounding mode conversion instructions to implement
- floor. We note when the exponent is large enough that the value
- must be integral, as this avoids unpleasant integer overflows. */
-
-float
-__floorf (float x)
-{
- if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
- {
- /* Note that Alpha S_Floating is stored in registers in a
- restricted T_Floating format, so we don't even need to
- convert back to S_Floating in the end. The initial
- conversion to T_Floating is needed to handle denormals. */
-
- float tmp1, tmp2, new_x;
-
- __asm ("cvtst/s %3,%2\n\t"
-#ifdef _IEEE_FP_INEXACT
- "cvttq/svim %2,%1\n\t"
-#else
- "cvttq/svm %2,%1\n\t"
-#endif
- "cvtqt/m %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
- : "f"(x));
-
- /* floor(-0) == -0, and in general we'll always have the same
- sign as our input. */
- x = copysignf(new_x, x);
- }
- return x;
-}
-
-weak_alias (__floorf, floorf)
diff --git a/ports/sysdeps/alpha/fpu/s_fmax.S b/ports/sysdeps/alpha/fpu/s_fmax.S
deleted file mode 100644
index 775de9f..0000000
--- a/ports/sysdeps/alpha/fpu/s_fmax.S
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
- .set noat
- .set noreorder
-
- .text
-ENTRY (__fmax)
- .prologue 0
-
- cmptun/su $f16, $f16, $f10
- cmptun/su $f17, $f17, $f11
- fmov $f17, $f0
- unop
-
- trapb
- fbne $f10, $ret
- fmov $f16, $f0
- fbne $f11, $ret
-
- cmptlt/su $f16, $f17, $f11
- trapb
- fcmovne $f11, $f17, $f0
-$ret: ret
-
-END (__fmax)
-
-/* Given the in-register format of single-precision, this works there too. */
-strong_alias (__fmax, __fmaxf)
-weak_alias (__fmaxf, fmaxf)
-
-weak_alias (__fmax, fmax)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fmax, __fmaxl)
-weak_alias (__fmaxl, fmaxl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_fmaxf.S b/ports/sysdeps/alpha/fpu/s_fmaxf.S
deleted file mode 100644
index 3c2d62b..0000000
--- a/ports/sysdeps/alpha/fpu/s_fmaxf.S
+++ /dev/null
@@ -1 +0,0 @@
-/* __fmaxf is in s_fmax.c */
diff --git a/ports/sysdeps/alpha/fpu/s_fmin.S b/ports/sysdeps/alpha/fpu/s_fmin.S
deleted file mode 100644
index f061f84..0000000
--- a/ports/sysdeps/alpha/fpu/s_fmin.S
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
- .set noat
- .set noreorder
-
- .text
-ENTRY (__fmin)
- .prologue 0
-
- cmptun/su $f16, $f16, $f10
- cmptun/su $f17, $f17, $f11
- fmov $f17, $f0
- unop
-
- trapb
- fbne $f10, $ret
- fmov $f16, $f0
- fbne $f11, $ret
-
- cmptlt/su $f17, $f16, $f11
- trapb
- fcmovne $f11, $f17, $f0
-$ret: ret
-
-END (__fmin)
-
-/* Given the in-register format of single-precision, this works there too. */
-strong_alias (__fmin, __fminf)
-weak_alias (__fminf, fminf)
-
-weak_alias (__fmin, fmin)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__fmin, __fminl)
-weak_alias (__fminl, fminl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __fmin, fminl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_fminf.S b/ports/sysdeps/alpha/fpu/s_fminf.S
deleted file mode 100644
index 10ab7fe..0000000
--- a/ports/sysdeps/alpha/fpu/s_fminf.S
+++ /dev/null
@@ -1 +0,0 @@
-/* __fminf is in s_fmin.c */
diff --git a/ports/sysdeps/alpha/fpu/s_isnan.c b/ports/sysdeps/alpha/fpu/s_isnan.c
deleted file mode 100644
index adfb4cc..0000000
--- a/ports/sysdeps/alpha/fpu/s_isnan.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Return 1 if argument is a NaN, else 0.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Ugly kludge to avoid declarations. */
-#define __isnanf not___isnanf
-#define isnanf not_isnanf
-#define __GI___isnanf not__GI___isnanf
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-#undef __isnanf
-#undef isnanf
-#undef __GI___isnanf
-
-int
-__isnan (double x)
-{
- return isunordered (x, x);
-}
-
-hidden_def (__isnan)
-weak_alias (__isnan, isnan)
-
-/* It turns out that the 'double' version will also always work for
- single-precision. */
-strong_alias (__isnan, __isnanf)
-weak_alias (__isnan, isnanf)
-
-/* ??? GCC 4.8 fails to look through chains of aliases with asm names
- attached. Work around this for now. */
-hidden_ver (__isnan, __isnanf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__isnan, __isnanl)
-weak_alias (__isnan, isnanl)
-#endif
-#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0);
-compat_symbol (libc, isnan, isnanl, GLIBC_2_0);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_isnanf.c b/ports/sysdeps/alpha/fpu/s_isnanf.c
deleted file mode 100644
index af41e43..0000000
--- a/ports/sysdeps/alpha/fpu/s_isnanf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_isnan.c */
diff --git a/ports/sysdeps/alpha/fpu/s_llrint.c b/ports/sysdeps/alpha/fpu/s_llrint.c
deleted file mode 100644
index 5db97be..0000000
--- a/ports/sysdeps/alpha/fpu/s_llrint.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lrint.c */
diff --git a/ports/sysdeps/alpha/fpu/s_llrintf.c b/ports/sysdeps/alpha/fpu/s_llrintf.c
deleted file mode 100644
index 18f2885..0000000
--- a/ports/sysdeps/alpha/fpu/s_llrintf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lrintf.c */
diff --git a/ports/sysdeps/alpha/fpu/s_llround.c b/ports/sysdeps/alpha/fpu/s_llround.c
deleted file mode 100644
index b212fbd..0000000
--- a/ports/sysdeps/alpha/fpu/s_llround.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lround.c. */
diff --git a/ports/sysdeps/alpha/fpu/s_llroundf.c b/ports/sysdeps/alpha/fpu/s_llroundf.c
deleted file mode 100644
index 73bdf31..0000000
--- a/ports/sysdeps/alpha/fpu/s_llroundf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* In s_lroundf.c. */
diff --git a/ports/sysdeps/alpha/fpu/s_lrint.c b/ports/sysdeps/alpha/fpu/s_lrint.c
deleted file mode 100644
index 80949bc..0000000
--- a/ports/sysdeps/alpha/fpu/s_lrint.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __llrint not___llrint
-#define llrint not_llrint
-#include <math.h>
-#include <math_ldbl_opt.h>
-#undef __llrint
-#undef llrint
-
-long int
-__lrint (double x)
-{
- long ret;
-
- __asm ("cvttq/svd %1,%0" : "=&f"(ret) : "f"(x));
-
- return ret;
-}
-
-strong_alias (__lrint, __llrint)
-weak_alias (__lrint, lrint)
-weak_alias (__llrint, llrint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lrint, __lrintl)
-strong_alias (__lrint, __llrintl)
-weak_alias (__lrintl, lrintl)
-weak_alias (__llrintl, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1);
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_lrintf.c b/ports/sysdeps/alpha/fpu/s_lrintf.c
deleted file mode 100644
index 814e25b..0000000
--- a/ports/sysdeps/alpha/fpu/s_lrintf.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __llrintf not___llrintf
-#define llrintf not_llrintf
-#include <math.h>
-#undef __llrintf
-#undef llrintf
-
-long int
-__lrintf (float x)
-{
- double tmp;
- long ret;
-
- __asm ("cvtst/s %2,%1\n\tcvttq/svd %1,%0"
- : "=&f"(ret), "=&f"(tmp) : "f"(x));
-
- return ret;
-}
-
-strong_alias (__lrintf, __llrintf)
-weak_alias (__lrintf, lrintf)
-weak_alias (__llrintf, llrintf)
diff --git a/ports/sysdeps/alpha/fpu/s_lround.c b/ports/sysdeps/alpha/fpu/s_lround.c
deleted file mode 100644
index dedb98e..0000000
--- a/ports/sysdeps/alpha/fpu/s_lround.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __llround not___llround
-#define llround not_llround
-#include <math.h>
-#include <math_ldbl_opt.h>
-#undef __llround
-#undef llround
-
-long int
-__lround (double x)
-{
- double adj;
-
- adj = 0x1.fffffffffffffp-2; /* nextafter (0.5, 0.0) */
- adj = copysign (adj, x);
- return x + adj;
-}
-
-strong_alias (__lround, __llround)
-weak_alias (__lround, lround)
-weak_alias (__llround, llround)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lround, __lroundl)
-strong_alias (__lround, __llroundl)
-weak_alias (__lroundl, lroundl)
-weak_alias (__llroundl, llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1);
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_lroundf.c b/ports/sysdeps/alpha/fpu/s_lroundf.c
deleted file mode 100644
index 650004d..0000000
--- a/ports/sysdeps/alpha/fpu/s_lroundf.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __llroundf not___llroundf
-#define llroundf not_llroundf
-#include <math.h>
-#undef __llroundf
-#undef llroundf
-
-
-long int
-__lroundf (float x)
-{
- float adj;
-
- adj = 0x1.fffffep-2; /* nextafterf (0.5f, 0.0f) */
- adj = copysignf (adj, x);
- return x + adj;
-}
-
-strong_alias (__lroundf, __llroundf)
-weak_alias (__lroundf, lroundf)
-weak_alias (__llroundf, llroundf)
diff --git a/ports/sysdeps/alpha/fpu/s_nearbyint.c b/ports/sysdeps/alpha/fpu/s_nearbyint.c
deleted file mode 100644
index ed6c997..0000000
--- a/ports/sysdeps/alpha/fpu/s_nearbyint.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-double
-__nearbyint (double x)
-{
- if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
- {
- double tmp1, new_x;
- __asm ("cvttq/svd %2,%1\n\t"
- "cvtqt/d %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1)
- : "f"(x));
-
- /* nearbyint(-0.1) == -0, and in general we'll always have the same
- sign as our input. */
- x = copysign(new_x, x);
- }
- return x;
-}
-
-weak_alias (__nearbyint, nearbyint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__nearbyint, __nearbyintl)
-weak_alias (__nearbyint, nearbyintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_nearbyintf.c b/ports/sysdeps/alpha/fpu/s_nearbyintf.c
deleted file mode 100644
index e769330..0000000
--- a/ports/sysdeps/alpha/fpu/s_nearbyintf.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-float
-__nearbyintf (float x)
-{
- if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
- {
- /* Note that Alpha S_Floating is stored in registers in a
- restricted T_Floating format, so we don't even need to
- convert back to S_Floating in the end. The initial
- conversion to T_Floating is needed to handle denormals. */
-
- float tmp1, tmp2, new_x;
-
- __asm ("cvtst/s %3,%2\n\t"
- "cvttq/svd %2,%1\n\t"
- "cvtqt/d %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
- : "f"(x));
-
- /* nearbyintf(-0.1) == -0, and in general we'll always have the same
- sign as our input. */
- x = copysignf(new_x, x);
- }
- return x;
-}
-
-weak_alias (__nearbyintf, nearbyintf)
diff --git a/ports/sysdeps/alpha/fpu/s_rint.c b/ports/sysdeps/alpha/fpu/s_rint.c
deleted file mode 100644
index d5e3edc..0000000
--- a/ports/sysdeps/alpha/fpu/s_rint.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-double
-__rint (double x)
-{
- if (isless (fabs (x), 9007199254740992.0)) /* 1 << DBL_MANT_DIG */
- {
- double tmp1, new_x;
- __asm ("cvttq/svid %2,%1\n\t"
- "cvtqt/d %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1)
- : "f"(x));
-
- /* rint(-0.1) == -0, and in general we'll always have the same
- sign as our input. */
- x = copysign(new_x, x);
- }
- return x;
-}
-
-weak_alias (__rint, rint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__rint, __rintl)
-weak_alias (__rint, rintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __rint, rintl, GLIBC_2_0);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_rintf.c b/ports/sysdeps/alpha/fpu/s_rintf.c
deleted file mode 100644
index 1a2a3ac..0000000
--- a/ports/sysdeps/alpha/fpu/s_rintf.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-
-float
-__rintf (float x)
-{
- if (isless (fabsf (x), 16777216.0f)) /* 1 << FLT_MANT_DIG */
- {
- /* Note that Alpha S_Floating is stored in registers in a
- restricted T_Floating format, so we don't even need to
- convert back to S_Floating in the end. The initial
- conversion to T_Floating is needed to handle denormals. */
-
- float tmp1, tmp2, new_x;
-
- __asm ("cvtst/s %3,%2\n\t"
- "cvttq/svid %2,%1\n\t"
- "cvtqt/d %1,%0\n\t"
- : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
- : "f"(x));
-
- /* rint(-0.1) == -0, and in general we'll always have the same
- sign as our input. */
- x = copysignf(new_x, x);
- }
- return x;
-}
-
-weak_alias (__rintf, rintf)
diff --git a/ports/sysdeps/alpha/fpu/s_round.c b/ports/sysdeps/alpha/fpu/s_round.c
deleted file mode 100644
index 62a8e72..0000000
--- a/ports/sysdeps/alpha/fpu/s_round.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-double
-__round (double x)
-{
- const double almost_half = 0x1.fffffffffffffp-2;
- const double two52 = 0x1.0p52;
- double tmp, r;
-
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
-#else
- "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
-#endif
- : "=&f"(r), "=&f"(tmp)
- : "f"(fabs (x) + almost_half), "f"(two52));
-
- return copysign (r, x);
-}
-
-weak_alias (__round, round)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__round, __roundl)
-weak_alias (__roundl, roundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __round, roundl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_roundf.c b/ports/sysdeps/alpha/fpu/s_roundf.c
deleted file mode 100644
index a07ffa3..0000000
--- a/ports/sysdeps/alpha/fpu/s_roundf.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-
-float
-__roundf (float x)
-{
- const float almost_half = 0x1.fffffep-2;
- const float two23 = 0x1.0p23;
- float r, tmp;
-
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
-#else
- "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
-#endif
- : "=&f"(r), "=&f"(tmp)
- : "f"(fabsf (x) + almost_half), "f"(two23));
-
- /* round(-0) == -0, and in general we'll always have the same
- sign as our input. */
- return copysignf (r, x);
-}
-
-weak_alias (__roundf, roundf)
diff --git a/ports/sysdeps/alpha/fpu/s_trunc.c b/ports/sysdeps/alpha/fpu/s_trunc.c
deleted file mode 100644
index 9216c03..0000000
--- a/ports/sysdeps/alpha/fpu/s_trunc.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-
-/* Use the chopped rounding mode conversion instructions to implement trunc. */
-
-double
-__trunc (double x)
-{
- double two52 = copysign (0x1.0p52, x);
- double r, tmp;
-
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "addt/suic %2, %3, %1\n\tsubt/suic %1, %3, %0"
-#else
- "addt/suc %2, %3, %1\n\tsubt/suc %1, %3, %0"
-#endif
- : "=&f"(r), "=&f"(tmp)
- : "f"(x), "f"(two52));
-
- /* trunc(-0) == -0, and in general we'll always have the same
- sign as our input. */
- return copysign (r, x);
-}
-
-weak_alias (__trunc, trunc)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__trunc, __truncl)
-weak_alias (__trunc, truncl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __trunc, truncl, GLIBC_2_1);
-#endif
diff --git a/ports/sysdeps/alpha/fpu/s_truncf.c b/ports/sysdeps/alpha/fpu/s_truncf.c
deleted file mode 100644
index a631cd1..0000000
--- a/ports/sysdeps/alpha/fpu/s_truncf.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-
-/* Use the chopped rounding mode conversion instructions to implement trunc. */
-
-float
-__truncf (float x)
-{
- float two23 = copysignf (0x1.0p23, x);
- float r, tmp;
-
- __asm (
-#ifdef _IEEE_FP_INEXACT
- "adds/suic %2, %3, %1\n\tsubs/suic %1, %3, %0"
-#else
- "adds/suc %2, %3, %1\n\tsubs/suc %1, %3, %0"
-#endif
- : "=&f"(r), "=&f"(tmp)
- : "f"(x), "f"(two23));
-
- /* trunc(-0) == -0, and in general we'll always have the same
- sign as our input. */
- return copysignf (r, x);
-}
-
-weak_alias (__truncf, truncf)
diff --git a/ports/sysdeps/alpha/gccframe.h b/ports/sysdeps/alpha/gccframe.h
deleted file mode 100644
index c36cdb6..0000000
--- a/ports/sysdeps/alpha/gccframe.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Definition of object in frame unwind info. alpha version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define FIRST_PSEUDO_REGISTER 64
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/ports/sysdeps/alpha/hp-timing.h b/ports/sysdeps/alpha/hp-timing.h
deleted file mode 100644
index 90f9b9d..0000000
--- a/ports/sysdeps/alpha/hp-timing.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* High precision, low overhead timing functions. Alpha version.
- Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@redhat.com>, 2001.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _HP_TIMING_H
-#define _HP_TIMING_H 1
-
-#include <string.h>
-#include <sys/param.h>
-#include <_itoa.h>
-
-/* The macros defined here use the timestamp counter in IA-64. They
- provide a very accurate way to measure the time with very little
- overhead. The time values themself have no real meaning, only
- differences are interesting.
-
- The list of macros we need includes the following:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-*/
-
-/* We always have the timestamp register, but it's got only a 4 second
- range. Use it for ld.so profiling only. */
-#define HP_TIMING_AVAIL (0)
-#define HP_SMALL_TIMING_AVAIL (1)
-
-/* We indeed have inlined functions. */
-#define HP_TIMING_INLINE (1)
-
-/* We use 32 bit values for the times. */
-typedef unsigned int hp_timing_t;
-
-/* Set timestamp value to zero. */
-#define HP_TIMING_ZERO(VAR) (VAR) = (0)
-
-/* The "rpcc" instruction returns a 32-bit counting half and a 32-bit
- "virtual cycle counter displacement". Subtracting the two gives us
- a virtual cycle count. */
-#define HP_TIMING_NOW(VAR) \
- do { \
- unsigned long int x_; \
- asm volatile ("rpcc %0" : "=r"(x_)); \
- (VAR) = (int) (x_) - (int) (x_ >> 32); \
- } while (0)
-
-/* ??? Two rpcc instructions can be scheduled simultaneously. */
-#define HP_TIMING_DIFF_INIT() do { } while (0)
-
-/* It's simple arithmetic for us. */
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-/* ??? Don't bother, since we're only used for ld.so. */
-#define HP_TIMING_ACCUM(Sum, Diff) not implemented
-
-/* No threads, no extra work. */
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-/* Print the time value. */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa_word (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
-
-#endif /* hp-timing.h */
diff --git a/ports/sysdeps/alpha/htonl.S b/ports/sysdeps/alpha/htonl.S
deleted file mode 100644
index c0b7663..0000000
--- a/ports/sysdeps/alpha/htonl.S
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-ENTRY(htonl)
-#ifdef PROF
- ldgp gp, 0(pv)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#else
- .prologue 0
-#endif
-
- inslh a0, 7, t0 # t0 = 0000000000AABBCC
- inswl a0, 3, t1 # t1 = 000000CCDD000000
- or t1, t0, t1 # t1 = 000000CCDDAABBCC
- srl t1, 16, t2 # t2 = 0000000000CCDDAA
- zapnot t1, 0x0A, t0 # t0 = 00000000DD00BB00
- zapnot t2, 0x05, t3 # t3 = 0000000000CC00AA
- addl t0, t3, v0 # v0 = ssssssssDDCCBBAA
- ret
-
- END(htonl)
-
-weak_alias (htonl, ntohl)
diff --git a/ports/sysdeps/alpha/htons.S b/ports/sysdeps/alpha/htons.S
deleted file mode 100644
index c9904c8..0000000
--- a/ports/sysdeps/alpha/htons.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-ENTRY(htons)
-#ifdef PROF
- ldgp gp, 0(pv)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#else
- .prologue 0
-#endif
-
- extwh a0, 7, t1 # t1 = bb00
- extbl a0, 1, v0 # v0 = 00aa
- bis v0, t1, v0 # v0 = bbaa
- ret
-
- END(htons)
-
-weak_alias (htons, ntohs)
diff --git a/ports/sysdeps/alpha/jmpbuf-offsets.h b/ports/sysdeps/alpha/jmpbuf-offsets.h
deleted file mode 100644
index 2e4842c..0000000
--- a/ports/sysdeps/alpha/jmpbuf-offsets.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Private macros for accessing __jmp_buf contents. Alpha version.
- Copyright (C) 2006-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define JB_S0 0
-#define JB_S1 1
-#define JB_S2 2
-#define JB_S3 3
-#define JB_S4 4
-#define JB_S5 5
-#define JB_PC 6
-#define JB_FP 7
-#define JB_SP 8
-#define JB_F2 9
-#define JB_F3 10
-#define JB_F4 11
-#define JB_F5 12
-#define JB_F6 13
-#define JB_F7 14
-#define JB_F8 15
-#define JB_F9 16
diff --git a/ports/sysdeps/alpha/jmpbuf-unwind.h b/ports/sysdeps/alpha/jmpbuf-unwind.h
deleted file mode 100644
index 1303cbd..0000000
--- a/ports/sysdeps/alpha/jmpbuf-unwind.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <setjmp.h>
-#include <jmpbuf-offsets.h>
-#include <stdint.h>
-#include <unwind.h>
-#include <sysdep.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame containing a local
- variable at ADDRESS. */
-#define _JMPBUF_UNWINDS(_jmpbuf, _address, _demangle) \
- ((void *)(_address) < (void *) _demangle ((_jmpbuf)[JB_SP]))
-
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
- _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
-
-static inline uintptr_t __attribute__ ((unused))
-_jmpbuf_sp (__jmp_buf regs)
-{
- uintptr_t sp = regs[JB_SP];
-#ifdef PTR_DEMANGLE
- PTR_DEMANGLE (sp);
-#endif
- return sp;
-}
-
-#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj))
-
-/* We use the normal longjmp for unwinding. */
-#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/ports/sysdeps/alpha/ldiv.S b/ports/sysdeps/alpha/ldiv.S
deleted file mode 100644
index 63b0fd8..0000000
--- a/ports/sysdeps/alpha/ldiv.S
+++ /dev/null
@@ -1,218 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-#undef FRAME
-#ifdef __alpha_fix__
-#define FRAME 0
-#else
-#define FRAME 16
-#endif
-
-#undef X
-#undef Y
-#define X $17
-#define Y $18
-
- .set noat
-
- .align 4
- .globl ldiv
- .ent ldiv
-ldiv:
- .frame sp, FRAME, ra
-#if FRAME > 0
- lda sp, -FRAME(sp)
-#endif
-#ifdef PROF
- .set macro
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set nomacro
- .prologue 1
-#else
- .prologue 0
-#endif
-
- beq Y, $divbyzero
- excb
- mf_fpcr $f10
-
- _ITOFT2 X, $f0, 0, Y, $f1, 8
-
- .align 4
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
- unop
-
- /* Check to see if X fit in the double as an exact value. */
- sll X, (64-53), AT
- sra AT, (64-53), AT
- cmpeq X, AT, AT
- beq AT, $x_big
-
- /* If we get here, we're expecting exact results from the division.
- Do nothing else besides convert and clean up. */
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f10
- _FTOIT $f0, $0, 0
-
-$egress:
- mulq $0, Y, $1
- subq X, $1, $1
-
- stq $0, 0($16)
- stq $1, 8($16)
- mov $16, $0
-
-#if FRAME > 0
- lda sp, FRAME(sp)
-#endif
- ret
-
- .align 4
-$x_big:
- /* If we get here, X is large enough that we don't expect exact
- results, and neither X nor Y got mis-translated for the fp
- division. Our task is to take the fp result, figure out how
- far it's off from the correct result and compute a fixup. */
-
-#define Q v0 /* quotient */
-#define R t0 /* remainder */
-#define SY t1 /* scaled Y */
-#define S t2 /* scalar */
-#define QY t3 /* Q*Y */
-
- /* The fixup code below can only handle unsigned values. */
- or X, Y, AT
- mov $31, t5
- blt AT, $fix_sign_in
-$fix_sign_in_ret1:
- cvttq/c $f0, $f0
-
- _FTOIT $f0, Q, 8
-$fix_sign_in_ret2:
- mulq Q, Y, QY
- excb
- mt_fpcr $f10
-
- .align 4
- subq QY, X, R
- mov Y, SY
- mov 1, S
- bgt R, $q_high
-
-$q_high_ret:
- subq X, QY, R
- mov Y, SY
- mov 1, S
- bgt R, $q_low
-
-$q_low_ret:
- negq Q, t4
- cmovlbs t5, t4, Q
- br $egress
-
- .align 4
- /* The quotient that we computed was too large. We need to reduce
- it by S such that Y*S >= R. Obviously the closer we get to the
- correct value the better, but overshooting high is ok, as we'll
- fix that up later. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_high:
- cmpult SY, R, AT
- bne AT, 0b
-
- subq Q, S, Q
- unop
- subq QY, SY, QY
- br $q_high_ret
-
- .align 4
- /* The quotient that we computed was too small. Divide Y by the
- current remainder (R) and add that to the existing quotient (Q).
- The expectation, of course, is that R is much smaller than X. */
- /* Begin with a shift-up loop. Compute S such that Y*S >= R. We
- already have a copy of Y in SY and the value 1 in S. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_low:
- cmpult SY, R, AT
- bne AT, 0b
-
- /* Shift-down and subtract loop. Each iteration compares our scaled
- Y (SY) with the remainder (R); if SY <= R then X is divisible by
- Y's scalar (S) so add it to the quotient (Q). */
-2: addq Q, S, t3
- srl S, 1, S
- cmpule SY, R, AT
- subq R, SY, t4
-
- cmovne AT, t3, Q
- cmovne AT, t4, R
- srl SY, 1, SY
- bne S, 2b
-
- br $q_low_ret
-
- .align 4
-$fix_sign_in:
- /* If we got here, then X|Y is negative. Need to adjust everything
- such that we're doing unsigned division in the fixup loop. */
- /* T5 is true if result should be negative. */
- xor X, Y, AT
- cmplt AT, 0, t5
- cmplt X, 0, AT
- negq X, t0
-
- cmovne AT, t0, X
- cmplt Y, 0, AT
- negq Y, t0
-
- cmovne AT, t0, Y
- blbc t5, $fix_sign_in_ret1
-
- cvttq/c $f0, $f0
- _FTOIT $f0, Q, 8
- .align 3
- negq Q, Q
- br $fix_sign_in_ret2
-
-$divbyzero:
- mov a0, v0
- lda a0, GEN_INTDIV
- call_pal PAL_gentrap
- stq zero, 0(v0)
- stq zero, 8(v0)
-
-#if FRAME > 0
- lda sp, FRAME(sp)
-#endif
- ret
-
- .end ldiv
-
-weak_alias (ldiv, lldiv)
-weak_alias (ldiv, imaxdiv)
diff --git a/ports/sysdeps/alpha/ldsodefs.h b/ports/sysdeps/alpha/ldsodefs.h
deleted file mode 100644
index f0c750d..0000000
--- a/ports/sysdeps/alpha/ldsodefs.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Run-time dynamic linker data structures for loaded ELF shared objects.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef __LDSODEFS_H
-
-#include <elf.h>
-
-struct La_alpha_regs;
-struct La_alpha_retval;
-
-#define ARCH_PLTENTER_MEMBERS \
- Elf64_Addr (*alpha_gnu_pltenter) (Elf64_Sym *, unsigned int, \
- uintptr_t *, uintptr_t *, \
- struct La_alpha_regs *, \
- unsigned int *, const char *name, \
- long int *framesizep);
-
-#define ARCH_PLTEXIT_MEMBERS \
- unsigned int (*alpha_gnu_pltexit) (Elf64_Sym *, unsigned int, \
- uintptr_t *, uintptr_t *, \
- const struct La_alpha_regs *, \
- struct La_alpha_retval *, \
- const char *);
-
-#include_next <ldsodefs.h>
-
-#endif
diff --git a/ports/sysdeps/alpha/libc-tls.c b/ports/sysdeps/alpha/libc-tls.c
deleted file mode 100644
index a910589..0000000
--- a/ports/sysdeps/alpha/libc-tls.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker. Alpha version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <csu/libc-tls.c>
-#include <dl-tls.h>
-
-/* On Alpha, linker optimizations are not required, so __tls_get_addr
- can be called even in statically linked binaries. In this case module
- must be always 1 and PT_TLS segment exist in the binary, otherwise it
- would not link. */
-
-void *
-__tls_get_addr (tls_index *ti)
-{
- dtv_t *dtv = THREAD_DTV ();
- return (char *) dtv[1].pointer.val + ti->ti_offset;
-}
diff --git a/ports/sysdeps/alpha/lldiv.S b/ports/sysdeps/alpha/lldiv.S
deleted file mode 100644
index 80c450a..0000000
--- a/ports/sysdeps/alpha/lldiv.S
+++ /dev/null
@@ -1 +0,0 @@
-/* lldiv is the same as ldiv on the Alpha. */
diff --git a/ports/sysdeps/alpha/lshift.S b/ports/sysdeps/alpha/lshift.S
deleted file mode 100644
index 046762d..0000000
--- a/ports/sysdeps/alpha/lshift.S
+++ /dev/null
@@ -1,107 +0,0 @@
- # Alpha 21064 __mpn_lshift --
-
- # Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # cnt r19
-
- # This code runs at 4.8 cycles/limb on the 21064. With infinite unrolling,
- # it would take 4 cycles/limb. It should be possible to get down to 3
- # cycles/limb since both ldq and stq can be paired with the other used
- # instructions. But there are many restrictions in the 21064 pipeline that
- # makes it hard, if not impossible, to get down to 3 cycles/limb:
-
- # 1. ldq has a 3 cycle delay, srl and sll have a 2 cycle delay.
- # 2. Only aligned instruction pairs can be paired.
- # 3. The store buffer or silo might not be able to deal with the bandwidth.
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_lshift
- .ent __mpn_lshift
-__mpn_lshift:
- .frame $30,0,$26,0
-
- s8addq $18,$17,$17 # make r17 point at end of s1
- ldq $4,-8($17) # load first limb
- subq $17,8,$17
- subq $31,$19,$7
- s8addq $18,$16,$16 # make r16 point at end of RES
- subq $18,1,$18
- and $18,4-1,$20 # number of limbs in first loop
- srl $4,$7,$0 # compute function result
-
- beq $20,.L0
- subq $18,$20,$18
-
- .align 3
-.Loop0:
- ldq $3,-8($17)
- subq $16,8,$16
- subq $17,8,$17
- subq $20,1,$20
- sll $4,$19,$5
- srl $3,$7,$6
- bis $3,$3,$4
- bis $5,$6,$8
- stq $8,0($16)
- bne $20,.Loop0
-
-.L0: beq $18,.Lend
-
- .align 3
-.Loop: ldq $3,-8($17)
- subq $16,32,$16
- subq $18,4,$18
- sll $4,$19,$5
- srl $3,$7,$6
-
- ldq $4,-16($17)
- sll $3,$19,$1
- bis $5,$6,$8
- stq $8,24($16)
- srl $4,$7,$2
-
- ldq $3,-24($17)
- sll $4,$19,$5
- bis $1,$2,$8
- stq $8,16($16)
- srl $3,$7,$6
-
- ldq $4,-32($17)
- sll $3,$19,$1
- bis $5,$6,$8
- stq $8,8($16)
- srl $4,$7,$2
-
- subq $17,32,$17
- bis $1,$2,$8
- stq $8,0($16)
-
- bgt $18,.Loop
-
-.Lend: sll $4,$19,$8
- stq $8,-8($16)
- ret $31,($26),1
- .end __mpn_lshift
diff --git a/ports/sysdeps/alpha/machine-gmon.h b/ports/sysdeps/alpha/machine-gmon.h
deleted file mode 100644
index 5030172..0000000
--- a/ports/sysdeps/alpha/machine-gmon.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Machine-specific calling sequence for `mcount' profiling function. alpha
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define _MCOUNT_DECL(from, self) \
- void __mcount (u_long from, u_long self)
-
-/* Call __mcount with our the return PC for our caller, and the return
- PC our caller will return to. Empty since we use an assembly stub
- instead. */
-#define MCOUNT
diff --git a/ports/sysdeps/alpha/memchr.c b/ports/sysdeps/alpha/memchr.c
deleted file mode 100644
index 6d80690..0000000
--- a/ports/sysdeps/alpha/memchr.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/* Copyright (C) 2010-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <string.h>
-
-typedef unsigned long word;
-
-static inline word
-ldq_u(const void *s)
-{
- return *(const word *)((word)s & -8);
-}
-
-#define unlikely(X) __builtin_expect ((X), 0)
-#define prefetch(X) __builtin_prefetch ((void *)(X), 0)
-
-#define cmpbeq0(X) __builtin_alpha_cmpbge(0, (X))
-#define find(X, Y) cmpbeq0 ((X) ^ (Y))
-
-/* Search no more than N bytes of S for C. */
-
-void *
-__memchr (const void *s, int xc, size_t n)
-{
- const word *s_align;
- word t, current, found, mask, offset;
-
- if (unlikely (n == 0))
- return 0;
-
- current = ldq_u (s);
-
- /* Replicate low byte of XC into all bytes of C. */
- t = xc & 0xff; /* 0000000c */
- t = (t << 8) | t; /* 000000cc */
- t = (t << 16) | t; /* 0000cccc */
- const word c = (t << 32) | t; /* cccccccc */
-
- /* Align the source, and decrement the count by the number
- of bytes searched in the first word. */
- s_align = (const word *)((word)s & -8);
- n += ((word)s & 7);
-
- /* Deal with misalignment in the first word for the comparison. */
- mask = (1ul << ((word)s & 7)) - 1;
-
- /* If the entire string fits within one word, we may need masking
- at both the front and the back of the string. */
- if (unlikely (n <= 8))
- {
- mask |= -1ul << n;
- goto last_quad;
- }
-
- found = find (current, c) & ~mask;
- if (unlikely (found))
- goto found_it;
-
- s_align++;
- n -= 8;
-
- /* If the block is sufficiently large, align to cacheline and prefetch. */
- if (unlikely (n >= 256))
- {
- /* Prefetch 3 cache lines beyond the one we're working on. */
- prefetch (s_align + 8);
- prefetch (s_align + 16);
- prefetch (s_align + 24);
-
- while ((word)s_align & 63)
- {
- current = *s_align;
- found = find (current, c);
- if (found)
- goto found_it;
- s_align++;
- n -= 8;
- }
-
- /* Within each cacheline, advance the load for the next word
- before the test for the previous word is complete. This
- allows us to hide the 3 cycle L1 cache load latency. We
- only perform this advance load within a cacheline to prevent
- reading across page boundary. */
-#define CACHELINE_LOOP \
- do { \
- word i, next = s_align[0]; \
- for (i = 0; i < 7; ++i) \
- { \
- current = next; \
- next = s_align[1]; \
- found = find (current, c); \
- if (unlikely (found)) \
- goto found_it; \
- s_align++; \
- } \
- current = next; \
- found = find (current, c); \
- if (unlikely (found)) \
- goto found_it; \
- s_align++; \
- n -= 64; \
- } while (0)
-
- /* While there's still lots more data to potentially be read,
- continue issuing prefetches for the 4th cacheline out. */
- while (n >= 256)
- {
- prefetch (s_align + 24);
- CACHELINE_LOOP;
- }
-
- /* Up to 3 cache lines remaining. Continue issuing advanced
- loads, but stop prefetching. */
- while (n >= 64)
- CACHELINE_LOOP;
-
- /* We may have exhausted the buffer. */
- if (n == 0)
- return NULL;
- }
-
- /* Quadword aligned loop. */
- current = *s_align;
- while (n > 8)
- {
- found = find (current, c);
- if (unlikely (found))
- goto found_it;
- current = *++s_align;
- n -= 8;
- }
-
- /* The last word may need masking at the tail of the compare. */
- mask = -1ul << n;
- last_quad:
- found = find (current, c) & ~mask;
- if (found == 0)
- return NULL;
-
- found_it:
-#ifdef __alpha_cix__
- offset = __builtin_alpha_cttz (found);
-#else
- /* Extract LSB. */
- found &= -found;
-
- /* Binary search for the LSB. */
- offset = (found & 0x0f ? 0 : 4);
- offset += (found & 0x33 ? 0 : 2);
- offset += (found & 0x55 ? 0 : 1);
-#endif
-
- return (void *)((word)s_align + offset);
-}
-
-#ifdef weak_alias
-weak_alias (__memchr, memchr)
-#endif
-libc_hidden_builtin_def (memchr)
diff --git a/ports/sysdeps/alpha/memset.S b/ports/sysdeps/alpha/memset.S
deleted file mode 100644
index 5353168..0000000
--- a/ports/sysdeps/alpha/memset.S
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Fill a block of memory with a character. Optimized for the Alpha
- architecture:
-
- - memory accessed as aligned quadwords only
- - destination memory not read unless needed for good cache behaviour
- - basic blocks arranged to optimize branch prediction for full-quadword
- aligned memory blocks.
- - partial head and tail quadwords constructed with byte-mask instructions
-
- This is generally scheduled for the EV5 (got to look out for my own
- interests :-), but with EV4 needs in mind. There *should* be no more
- stalls for the EV4 than there are for the EV5.
-*/
-
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
- .type memset, @function
- .globl memset
- .usepv memset, USEPV_PROF
-
- cfi_startproc
-
- /* On entry to this basic block:
- t3 == loop counter
- t4 == bytes in partial final word
- a0 == possibly misaligned destination pointer
- a1 == replicated source character */
-
- .align 3
-memset_loop:
- beq t3, $tail
- blbc t3, 0f # skip single store if count even
-
- stq_u a1, 0(a0) # e0 : store one word
- subq t3, 1, t3 # .. e1 :
- addq a0, 8, a0 # e0 :
- beq t3, $tail # .. e1 :
-
-0: stq_u a1, 0(a0) # e0 : store two words
- subq t3, 2, t3 # .. e1 :
- stq_u a1, 8(a0) # e0 :
- addq a0, 16, a0 # .. e1 :
- bne t3, 0b # e1 :
-
-$tail: bne t4, 1f # is there a tail to do?
- ret # no
-
- .align 3
-1: ldq_u t0, 0(a0) # e1 : yes, load original data
- mskql a1, t4, t1 # .. e0 :
- mskqh t0, t4, t0 # e0 :
- or t0, t1, t0 # e1 (stall)
- stq_u t0, 0(a0) # e0 :
- ret # .. e1 :
-
-memset:
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
-
- and a1, 0xff, a1 # e0 : zero extend input character
- mov a0, v0 # .. e1 : move return value in place
- sll a1, 8, t0 # e0 : begin replicating the char
- beq a2, $done # .. e1 : early exit for zero-length store
- or t0, a1, a1 # e0 :
- and a0, 7, t1 # .. e1 : dest misalignment
- sll a1, 16, t0 # e0 :
- addq a2, t1, a2 # .. e1 : add dest misalignment to count
- or t0, a1, a1 # e0 :
- srl a2, 3, t3 # .. e1 : loop = count >> 3
- sll a1, 32, t0 # e0 :
- and a2, 7, t4 # .. e1 : find number of bytes in tail
- or t0, a1, a1 # e0 : character replication done
-
- beq t1, memset_loop # .. e1 : aligned head, jump right in
-
- ldq_u t0, 0(a0) # e1 : load original data to mask into
- mskqh a1, a0, t1 # .. e0 :
-
- cmpult a2, 8, t2 # e0 : is this a sub-word set?
- bne t2, $oneq # .. e1 (zdb)
-
- mskql t0, a0, t0 # e0 : we span words. finish this partial
- subq t3, 1, t3 # .. e1 :
- addq a0, 8, a0 # e0 :
- or t0, t1, t0 # .. e1 :
- stq_u t0, -8(a0) # e0 :
- br memset_loop # .. e1 :
-
- .align 3
-$oneq:
- mskql t1, a2, t1 # e0 : entire operation within one word
- mskql t0, a0, t2 # e0 :
- mskqh t0, a2, t3 # e0 :
- or t1, t2, t0 # .. e1 :
- or t0, t3, t0 # e1 :
- stq_u t0, 0(a0) # e0 (stall)
-
-$done: ret
-
- cfi_endproc
-libc_hidden_builtin_def (memset)
diff --git a/ports/sysdeps/alpha/memusage.h b/ports/sysdeps/alpha/memusage.h
deleted file mode 100644
index a364474..0000000
--- a/ports/sysdeps/alpha/memusage.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define GETSP() ({ register uintptr_t stack_ptr asm ("$30"); stack_ptr; })
-
-#include <sysdeps/generic/memusage.h>
diff --git a/ports/sysdeps/alpha/mul_1.S b/ports/sysdeps/alpha/mul_1.S
deleted file mode 100644
index e7474d3..0000000
--- a/ports/sysdeps/alpha/mul_1.S
+++ /dev/null
@@ -1,83 +0,0 @@
- # Alpha 21064 __mpn_mul_1 -- Multiply a limb vector with a limb and store
- # the result in a second limb vector.
-
- # Copyright (C) 1992-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # s2_limb r19
-
- # This code runs at 42 cycles/limb on the EV4 and 18 cycles/limb on the EV5.
-
- # To improve performance for long multiplications, we would use
- # 'fetch' for S1 and 'fetch_m' for RES. It's not obvious how to use
- # these instructions without slowing down the general code: 1. We can
- # only have two prefetches in operation at any time in the Alpha
- # architecture. 2. There will seldom be any special alignment
- # between RES_PTR and S1_PTR. Maybe we can simply divide the current
- # loop into an inner and outer loop, having the inner loop handle
- # exactly one prefetch block?
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_mul_1
- .ent __mpn_mul_1 2
-__mpn_mul_1:
- .frame $30,0,$26
-
- ldq $2,0($17) # $2 = s1_limb
- subq $18,1,$18 # size--
- mulq $2,$19,$3 # $3 = prod_low
- bic $31,$31,$4 # clear cy_limb
- umulh $2,$19,$0 # $0 = prod_high
- beq $18,Lend1 # jump if size was == 1
- ldq $2,8($17) # $2 = s1_limb
- subq $18,1,$18 # size--
- stq $3,0($16)
- beq $18,Lend2 # jump if size was == 2
-
- .align 3
-Loop: mulq $2,$19,$3 # $3 = prod_low
- addq $4,$0,$0 # cy_limb = cy_limb + 'cy'
- subq $18,1,$18 # size--
- umulh $2,$19,$4 # $4 = cy_limb
- ldq $2,16($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- addq $3,$0,$3 # $3 = cy_limb + prod_low
- stq $3,8($16)
- cmpult $3,$0,$0 # $0 = carry from (cy_limb + prod_low)
- addq $16,8,$16 # res_ptr++
- bne $18,Loop
-
-Lend2: mulq $2,$19,$3 # $3 = prod_low
- addq $4,$0,$0 # cy_limb = cy_limb + 'cy'
- umulh $2,$19,$4 # $4 = cy_limb
- addq $3,$0,$3 # $3 = cy_limb + prod_low
- cmpult $3,$0,$0 # $0 = carry from (cy_limb + prod_low)
- stq $3,8($16)
- addq $4,$0,$0 # cy_limb = prod_high + cy
- ret $31,($26),1
-Lend1: stq $3,0($16)
- ret $31,($26),1
-
- .end __mpn_mul_1
diff --git a/ports/sysdeps/alpha/nptl/Makefile b/ports/sysdeps/alpha/nptl/Makefile
deleted file mode 100644
index e077f96..0000000
--- a/ports/sysdeps/alpha/nptl/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-#
-# The GNU C Library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library. If not, see
-# <http://www.gnu.org/licenses/>.
-
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
diff --git a/ports/sysdeps/alpha/nptl/pthread_spin_lock.S b/ports/sysdeps/alpha/nptl/pthread_spin_lock.S
deleted file mode 100644
index 841f654..0000000
--- a/ports/sysdeps/alpha/nptl/pthread_spin_lock.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@twiddle.net>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-
- .text
- .align 4
-
- .globl pthread_spin_lock
- .ent pthread_spin_lock
-pthread_spin_lock:
- .frame $sp, 0, $26, 0
- .prologue 0
-
-0: ldl_l $1, 0($16)
- lda $2, 1
- lda $0, 0
- bne $1, 1f
-
- stl_c $2, 0($16)
- beq $2, 1f
- mb
- ret
-
-1: ldl $1, 0($16)
- bne $1, 1b
- unop
- br 0b
-
- .end pthread_spin_lock
diff --git a/ports/sysdeps/alpha/nptl/pthread_spin_trylock.S b/ports/sysdeps/alpha/nptl/pthread_spin_trylock.S
deleted file mode 100644
index 28a8ac8..0000000
--- a/ports/sysdeps/alpha/nptl/pthread_spin_trylock.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@twiddle.net>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
- .text
- .align 4
-
- .globl pthread_spin_trylock
- .ent pthread_spin_trylock
-pthread_spin_trylock:
- .frame $sp, 0, $26, 0
- .prologue 0
-
-0: ldl_l $1, 0($16)
- lda $2, 1
- lda $0, EBUSY
- bne $1, 1f
-
- stl_c $2, 0($16)
- beq $2, 2f
- mb
- lda $0, 0
-
-1: ret
-2: br 0b
-
- .end pthread_spin_trylock
diff --git a/ports/sysdeps/alpha/nptl/pthreaddef.h b/ports/sysdeps/alpha/nptl/pthreaddef.h
deleted file mode 100644
index 4e56fd9..0000000
--- a/ports/sysdeps/alpha/nptl/pthreaddef.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Default stack size. */
-#define ARCH_STACK_DEFAULT_SIZE (4 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning. The ABI requires 16. */
-#define STACK_ALIGN 16
-
-/* Minimal stack size after allocating thread descriptor and guard size. */
-#define MINIMAL_REST_STACK 4096
-
-/* Alignment requirement for TCB. */
-#define TCB_ALIGNMENT 16
-
-/* Location of current stack frame. */
-#define CURRENT_STACK_FRAME __builtin_frame_address (0)
-
-/* XXX Until we have a better place keep the definitions here. */
-
-/* While there is no such syscall. */
-#define __exit_thread_inline(val) \
- INLINE_SYSCALL (exit, 1, (val))
diff --git a/ports/sysdeps/alpha/nptl/tcb-offsets.sym b/ports/sysdeps/alpha/nptl/tcb-offsets.sym
deleted file mode 100644
index c21a791..0000000
--- a/ports/sysdeps/alpha/nptl/tcb-offsets.sym
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-
---
-
--- Abuse tls.h macros to derive offsets relative to the thread register.
--- # define __builtin_thread_pointer() ((void *) 0)
--- # define thread_offsetof(mem) ((void *) &THREAD_SELF->mem - (void *) 0)
--- Ho hum, this doesn't work in gcc4, so Know Things about THREAD_SELF
-#define thread_offsetof(mem) (long)(offsetof(struct pthread, mem) - sizeof(struct pthread))
-
-MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
-PID_OFFSET thread_offsetof (pid)
-TID_OFFSET thread_offsetof (tid)
diff --git a/ports/sysdeps/alpha/nptl/tls.h b/ports/sysdeps/alpha/nptl/tls.h
deleted file mode 100644
index 4894f0b..0000000
--- a/ports/sysdeps/alpha/nptl/tls.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/* Definition for thread-local data handling. NPTL/Alpha version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _TLS_H
-#define _TLS_H 1
-
-# include <dl-sysdep.h>
-
-#ifndef __ASSEMBLER__
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-
-/* Type for the dtv. */
-typedef union dtv
-{
- size_t counter;
- struct
- {
- void *val;
- bool is_static;
- } pointer;
-} dtv_t;
-
-/* Get system call information. */
-# include <sysdep.h>
-
-/* The TP points to the start of the thread blocks. */
-# define TLS_DTV_AT_TP 1
-
-/* Get the thread descriptor definition. */
-# include <nptl/descr.h>
-
-typedef struct
-{
- dtv_t *dtv;
- void *__private;
-} tcbhead_t;
-
-/* This is the size of the initial TCB. */
-# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
-
-/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN 16
-
-/* This is the size of the TCB. */
-# define TLS_TCB_SIZE sizeof (tcbhead_t)
-
-/* This is the size we need before TCB. */
-# define TLS_PRE_TCB_SIZE sizeof (struct pthread)
-
-/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN 16
-
-/* Install the dtv pointer. The pointer passed is to the element with
- index -1 which contain the length. */
-# define INSTALL_DTV(tcbp, dtvp) \
- (((tcbhead_t *) (tcbp))->dtv = (dtvp) + 1)
-
-/* Install new dtv for current thread. */
-# define INSTALL_NEW_DTV(dtv) \
- (THREAD_DTV() = (dtv))
-
-/* Return dtv of given thread descriptor. */
-# define GET_DTV(tcbp) \
- (((tcbhead_t *) (tcbp))->dtv)
-
-/* Code to initially initialize the thread pointer. This might need
- special attention since 'errno' is not yet available and if the
- operation can cause a failure 'errno' must not be touched. */
-# define TLS_INIT_TP(tcbp, secondcall) \
- (__builtin_set_thread_pointer ((void *)(tcbp)), NULL)
-
-/* Return the address of the dtv for the current thread. */
-# define THREAD_DTV() \
- (((tcbhead_t *) __builtin_thread_pointer ())->dtv)
-
-/* Return the thread descriptor for the current thread. */
-# define THREAD_SELF \
- ((struct pthread *)__builtin_thread_pointer () - 1)
-
-/* Magic for libthread_db to know how to do THREAD_SELF. */
-# define DB_THREAD_SELF \
- REGISTER (64, 64, 32 * 8, -sizeof (struct pthread))
-
-/* Access to data in the thread descriptor is easy. */
-#define THREAD_GETMEM(descr, member) \
- descr->member
-#define THREAD_GETMEM_NC(descr, member, idx) \
- descr->member[idx]
-#define THREAD_SETMEM(descr, member, value) \
- descr->member = (value)
-#define THREAD_SETMEM_NC(descr, member, idx, value) \
- descr->member[idx] = (value)
-
-/* Get and set the global scope generation counter in struct pthread. */
-#define THREAD_GSCOPE_FLAG_UNUSED 0
-#define THREAD_GSCOPE_FLAG_USED 1
-#define THREAD_GSCOPE_FLAG_WAIT 2
-#define THREAD_GSCOPE_RESET_FLAG() \
- do \
- { int __res \
- = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \
- THREAD_GSCOPE_FLAG_UNUSED); \
- if (__res == THREAD_GSCOPE_FLAG_WAIT) \
- lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \
- } \
- while (0)
-#define THREAD_GSCOPE_SET_FLAG() \
- do \
- { \
- THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \
- atomic_write_barrier (); \
- } \
- while (0)
-#define THREAD_GSCOPE_WAIT() \
- GL(dl_wait_lookup_done) ()
-
-#else /* __ASSEMBLER__ */
-# include <tcb-offsets.h>
-#endif /* __ASSEMBLER__ */
-
-#endif /* tls.h */
diff --git a/ports/sysdeps/alpha/nscd-types.h b/ports/sysdeps/alpha/nscd-types.h
deleted file mode 100644
index a9b2f23..0000000
--- a/ports/sysdeps/alpha/nscd-types.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Types for the NSCD implementation. Alpha version.
- Copyright (c) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdint.h>
-
-typedef int64_t nscd_ssize_t;
diff --git a/ports/sysdeps/alpha/preconfigure b/ports/sysdeps/alpha/preconfigure
deleted file mode 100644
index 09559b9..0000000
--- a/ports/sysdeps/alpha/preconfigure
+++ /dev/null
@@ -1,7 +0,0 @@
-case "$machine" in
-alpha*) base_machine=alpha machine=alpha/$machine
- # Parameters to allow auto-detection of -z relro.
- libc_commonpagesize=0x2000
- libc_relro_required=yes ;;
-esac
-
diff --git a/ports/sysdeps/alpha/rawmemchr.S b/ports/sysdeps/alpha/rawmemchr.S
deleted file mode 100644
index 4a06421..0000000
--- a/ports/sysdeps/alpha/rawmemchr.S
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Return pointer to first occurrence of CH in STR. */
-
-#include <sysdep.h>
-
- .set noreorder
- .set noat
-
-ENTRY(__rawmemchr)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- zapnot a1, 1, a1 # e0 : zero extend the search character
- ldq_u t0, 0(a0) # .. e1 : load first quadword
- sll a1, 8, t5 # e0 : replicate the search character
- andnot a0, 7, v0 # .. e1 : align our loop pointer
-
- or t5, a1, a1 # e0 :
- lda t4, -1 # .. e1 : build garbage mask
- sll a1, 16, t5 # e0 :
- unop # :
-
- mskqh t4, a0, t4 # e0 :
- or t5, a1, a1 # .. e1 :
- sll a1, 32, t5 # e0 :
- cmpbge zero, t4, t4 # .. e1 : bits set iff byte is garbage
-
- or t5, a1, a1 # e0 :
- xor t0, a1, t1 # .. e1 : make bytes == c zero
- cmpbge zero, t1, t3 # e0 : bits set iff byte == c
- unop # :
-
- andnot t3, t4, t0 # e0 : clear garbage bits
- fnop # .. fa :
- unop # :
- bne t0, $found # .. e1 (zdb)
-
- .align 4
-$loop:
- ldq t0, 8(v0) # e0 :
- addq v0, 8, v0 # .. e1 :
- nop # e0 :
- xor t0, a1, t1 # .. e1 (ev5 data stall)
-
- cmpbge zero, t1, t0 # e0 : bits set iff byte == c
- beq t0, $loop # .. e1 (zdb)
-
-$found:
- negq t0, t1 # e0 : clear all but least set bit
- and t0, t1, t0 # e1 (stall)
- and t0, 0xf0, t2 # e0 : binary search for that set bit
- and t0, 0xcc, t3 # .. e1 :
-
- and t0, 0xaa, t4 # e0 :
- cmovne t2, 4, t2 # .. e1 :
- cmovne t3, 2, t3 # e0 :
- cmovne t4, 1, t4 # .. e1 :
-
- addq t2, t3, t2 # e0 :
- addq v0, t4, v0 # .. e1 :
- addq v0, t2, v0 # e0 :
- ret # .. e1 :
-
- END(__rawmemchr)
-
-libc_hidden_def (__rawmemchr)
-weak_alias (__rawmemchr, rawmemchr)
diff --git a/ports/sysdeps/alpha/reml.S b/ports/sysdeps/alpha/reml.S
deleted file mode 100644
index 8708cf8..0000000
--- a/ports/sysdeps/alpha/reml.S
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson <rth@twiddle.net>
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-/* 32-bit signed int remainder. This is not a normal C function. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may
- be clobbered.
-
- The FPU can handle the division for all input values except zero.
- All we have to do is compute the remainder via multiply-and-subtract.
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
-#ifndef EXTEND
-#define EXTEND(S,D) sextl S, D
-#endif
-
- .text
- .align 4
- .globl __reml
- .type __reml, @funcnoplt
- .usepv __reml, no
-
- cfi_startproc
- cfi_return_column (RA)
-__reml:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
- stt $f0, 0(sp)
- excb
- beq Y, DIVBYZERO
-
- stt $f1, 8(sp)
- stt $f2, 16(sp)
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f2, 16)
- mf_fpcr $f2
-
- EXTEND (X, RV)
- EXTEND (Y, AT)
- _ITOFT2 RV, $f0, 24, AT, $f1, 32
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f2
- _FTOIT $f0, RV, 24
-
- ldt $f0, 0(sp)
- mull RV, Y, RV
- ldt $f1, 8(sp)
- ldt $f2, 16(sp)
- lda sp, FRAME(sp)
- cfi_restore ($f0)
- cfi_restore ($f1)
- cfi_restore ($f2)
- cfi_def_cfa_offset (0)
- subl X, RV, RV
- ret $31, (RA), 1
-
- cfi_endproc
- .size __reml, .-__reml
-
- DO_DIVBYZERO
diff --git a/ports/sysdeps/alpha/remlu.S b/ports/sysdeps/alpha/remlu.S
deleted file mode 100644
index f8691e1..0000000
--- a/ports/sysdeps/alpha/remlu.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#define UNSIGNED
-#define EXTEND(S,D) zapnot S, 15, D
-#define __reml __remlu
-#include <reml.S>
diff --git a/ports/sysdeps/alpha/remq.S b/ports/sysdeps/alpha/remq.S
deleted file mode 100644
index 6d56d26..0000000
--- a/ports/sysdeps/alpha/remq.S
+++ /dev/null
@@ -1,268 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-
-/* 64-bit signed long remainder. These are not normal C functions. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may
- be clobbered.
-
- Theory of operation here is that we can use the FPU divider for virtually
- all operands that we see: all dividend values between -2**53 and 2**53-1
- can be computed directly. Note that divisor values need not be checked
- against that range because the rounded fp value will be close enough such
- that the quotient is < 1, which will properly be truncated to zero when we
- convert back to integer.
-
- When the dividend is outside the range for which we can compute exact
- results, we use the fp quotent as an estimate from which we begin refining
- an exact integral value. This reduces the number of iterations in the
- shift-and-subtract loop significantly.
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
- .text
- .align 4
- .globl __remq
- .type __remq, @funcnoplt
- .usepv __remq, no
-
- cfi_startproc
- cfi_return_column (RA)
-__remq:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
-
- /* Get the fp divide insn issued as quickly as possible. After
- that's done, we have at least 22 cycles until its results are
- ready -- all the time in the world to figure out how we're
- going to use the results. */
- stt $f0, 0(sp)
- excb
- beq Y, DIVBYZERO
-
- stt $f1, 8(sp)
- stt $f3, 48(sp)
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f3, 48)
- mf_fpcr $f3
-
- _ITOFT2 X, $f0, 16, Y, $f1, 24
- cvtqt $f0, $f0
- cvtqt $f1, $f1
- divt/c $f0, $f1, $f0
-
- /* Check to see if X fit in the double as an exact value. */
- sll X, (64-53), AT
- ldt $f1, 8(sp)
- sra AT, (64-53), AT
- cmpeq X, AT, AT
- beq AT, $x_big
-
- /* If we get here, we're expecting exact results from the division.
- Do nothing else besides convert, compute remainder, clean up. */
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f3
- _FTOIT $f0, AT, 16
- mulq AT, Y, AT
- ldt $f0, 0(sp)
- ldt $f3, 48(sp)
- cfi_restore ($f1)
- cfi_remember_state
- cfi_restore ($f0)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- lda sp, FRAME(sp)
- subq X, AT, RV
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
-$x_big:
- /* If we get here, X is large enough that we don't expect exact
- results, and neither X nor Y got mis-translated for the fp
- division. Our task is to take the fp result, figure out how
- far it's off from the correct result and compute a fixup. */
- stq t0, 16(sp)
- stq t1, 24(sp)
- stq t2, 32(sp)
- stq t5, 40(sp)
- cfi_rel_offset (t0, 16)
- cfi_rel_offset (t1, 24)
- cfi_rel_offset (t2, 32)
- cfi_rel_offset (t5, 40)
-
-#define Q t0 /* quotient */
-#define R RV /* remainder */
-#define SY t1 /* scaled Y */
-#define S t2 /* scalar */
-#define QY t3 /* Q*Y */
-
- /* The fixup code below can only handle unsigned values. */
- or X, Y, AT
- mov $31, t5
- blt AT, $fix_sign_in
-$fix_sign_in_ret1:
- cvttq/c $f0, $f0
-
- _FTOIT $f0, Q, 8
- .align 3
-$fix_sign_in_ret2:
- ldt $f0, 0(sp)
- stq t3, 0(sp)
- cfi_restore ($f0)
- cfi_rel_offset (t3, 0)
-
- mulq Q, Y, QY
- excb
- stq t4, 8(sp)
- mt_fpcr $f3
- cfi_rel_offset (t4, 8)
-
- subq QY, X, R
- mov Y, SY
- mov 1, S
- bgt R, $q_high
-
-$q_high_ret:
- subq X, QY, R
- mov Y, SY
- mov 1, S
- bgt R, $q_low
-
-$q_low_ret:
- ldq t0, 16(sp)
- ldq t1, 24(sp)
- ldq t2, 32(sp)
- bne t5, $fix_sign_out
-
-$fix_sign_out_ret:
- ldq t3, 0(sp)
- ldq t4, 8(sp)
- ldq t5, 40(sp)
- ldt $f3, 48(sp)
- lda sp, FRAME(sp)
- cfi_remember_state
- cfi_restore (t0)
- cfi_restore (t1)
- cfi_restore (t2)
- cfi_restore (t3)
- cfi_restore (t4)
- cfi_restore (t5)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
- /* The quotient that we computed was too large. We need to reduce
- it by S such that Y*S >= R. Obviously the closer we get to the
- correct value the better, but overshooting high is ok, as we'll
- fix that up later. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_high:
- cmpult SY, R, AT
- bne AT, 0b
-
- subq Q, S, Q
- unop
- subq QY, SY, QY
- br $q_high_ret
-
- .align 4
- /* The quotient that we computed was too small. Divide Y by the
- current remainder (R) and add that to the existing quotient (Q).
- The expectation, of course, is that R is much smaller than X. */
- /* Begin with a shift-up loop. Compute S such that Y*S >= R. We
- already have a copy of Y in SY and the value 1 in S. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_low:
- cmpult SY, R, AT
- bne AT, 0b
-
- /* Shift-down and subtract loop. Each iteration compares our scaled
- Y (SY) with the remainder (R); if SY <= R then X is divisible by
- Y's scalar (S) so add it to the quotient (Q). */
-2: addq Q, S, t3
- srl S, 1, S
- cmpule SY, R, AT
- subq R, SY, t4
-
- cmovne AT, t3, Q
- cmovne AT, t4, R
- srl SY, 1, SY
- bne S, 2b
-
- br $q_low_ret
-
- .align 4
-$fix_sign_in:
- /* If we got here, then X|Y is negative. Need to adjust everything
- such that we're doing unsigned division in the fixup loop. */
- /* T5 records the changes we had to make:
- bit 0: set if X was negated. Note that the sign of the
- remainder follows the sign of the divisor.
- bit 2: set if Y was negated.
- */
- xor X, Y, t1
- cmplt X, 0, t5
- negq X, t0
- cmovne t5, t0, X
-
- cmplt Y, 0, AT
- negq Y, t0
- s4addq AT, t5, t5
- cmovne AT, t0, Y
-
- bge t1, $fix_sign_in_ret1
- cvttq/c $f0, $f0
- _FTOIT $f0, Q, 8
- .align 3
- negq Q, Q
- br $fix_sign_in_ret2
-
- .align 4
-$fix_sign_out:
- /* Now we get to undo what we did above. */
- /* ??? Is this really faster than just increasing the size of
- the stack frame and storing X and Y in memory? */
- and t5, 4, AT
- negq Y, t4
- cmovne AT, t4, Y
-
- negq X, t4
- cmovlbs t5, t4, X
- negq RV, t4
- cmovlbs t5, t4, RV
-
- br $fix_sign_out_ret
-
- cfi_endproc
- .size __remq, .-__remq
-
- DO_DIVBYZERO
diff --git a/ports/sysdeps/alpha/remqu.S b/ports/sysdeps/alpha/remqu.S
deleted file mode 100644
index 809bac3..0000000
--- a/ports/sysdeps/alpha/remqu.S
+++ /dev/null
@@ -1,271 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "div_libc.h"
-
-
-/* 64-bit unsigned long remainder. These are not normal C functions. Argument
- registers are t10 and t11, the result goes in t12. Only t12 and AT may be
- clobbered.
-
- Theory of operation here is that we can use the FPU divider for virtually
- all operands that we see: all dividend values between -2**53 and 2**53-1
- can be computed directly. Note that divisor values need not be checked
- against that range because the rounded fp value will be close enough such
- that the quotient is < 1, which will properly be truncated to zero when we
- convert back to integer.
-
- When the dividend is outside the range for which we can compute exact
- results, we use the fp quotent as an estimate from which we begin refining
- an exact integral value. This reduces the number of iterations in the
- shift-and-subtract loop significantly.
-
- The FPCR save/restore is due to the fact that the EV6 _will_ set FPCR_INE
- for cvttq/c even without /sui being set. It will not, however, properly
- raise the exception, so we don't have to worry about FPCR_INED being clear
- and so dying by SIGFPE. */
-
- .text
- .align 4
- .globl __remqu
- .type __remqu, @funcnoplt
- .usepv __remqu, no
-
- cfi_startproc
- cfi_return_column (RA)
-__remqu:
- lda sp, -FRAME(sp)
- cfi_def_cfa_offset (FRAME)
- CALL_MCOUNT
-
- /* Get the fp divide insn issued as quickly as possible. After
- that's done, we have at least 22 cycles until its results are
- ready -- all the time in the world to figure out how we're
- going to use the results. */
- subq Y, 1, AT
- stt $f0, 0(sp)
- and Y, AT, AT
-
- stt $f1, 8(sp)
- excb
- stt $f3, 48(sp)
- beq AT, $powerof2
- cfi_rel_offset ($f0, 0)
- cfi_rel_offset ($f1, 8)
- cfi_rel_offset ($f3, 48)
-
- _ITOFT2 X, $f0, 16, Y, $f1, 24
- mf_fpcr $f3
- cvtqt $f0, $f0
- cvtqt $f1, $f1
-
- blt X, $x_is_neg
- divt/c $f0, $f1, $f0
-
- /* Check to see if Y was mis-converted as signed value. */
- ldt $f1, 8(sp)
- blt Y, $y_is_neg
-
- /* Check to see if X fit in the double as an exact value. */
- srl X, 53, AT
- bne AT, $x_big
-
- /* If we get here, we're expecting exact results from the division.
- Do nothing else besides convert, compute remainder, clean up. */
- cvttq/c $f0, $f0
- excb
- mt_fpcr $f3
- _FTOIT $f0, AT, 16
-
- mulq AT, Y, AT
- ldt $f0, 0(sp)
- ldt $f3, 48(sp)
- lda sp, FRAME(sp)
- cfi_remember_state
- cfi_restore ($f0)
- cfi_restore ($f1)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
-
- .align 4
- subq X, AT, RV
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
-$x_is_neg:
- /* If we get here, X is so big that bit 63 is set, which made the
- conversion come out negative. Fix it up lest we not even get
- a good estimate. */
- ldah AT, 0x5f80 /* 2**64 as float. */
- stt $f2, 24(sp)
- cfi_rel_offset ($f2, 24)
- _ITOFS AT, $f2, 16
-
- addt $f0, $f2, $f0
- divt/c $f0, $f1, $f0
-
- /* Ok, we've now the divide issued. Continue with other checks. */
- .align 4
- ldt $f1, 8(sp)
- unop
- ldt $f2, 24(sp)
- blt Y, $y_is_neg
- cfi_restore ($f1)
- cfi_restore ($f2)
- cfi_remember_state /* for y_is_neg */
-
- .align 4
-$x_big:
- /* If we get here, X is large enough that we don't expect exact
- results, and neither X nor Y got mis-translated for the fp
- division. Our task is to take the fp result, figure out how
- far it's off from the correct result and compute a fixup. */
- stq t0, 16(sp)
- stq t1, 24(sp)
- stq t2, 32(sp)
- stq t3, 40(sp)
- cfi_rel_offset (t0, 16)
- cfi_rel_offset (t1, 24)
- cfi_rel_offset (t2, 32)
- cfi_rel_offset (t3, 40)
-
-#define Q t0 /* quotient */
-#define R RV /* remainder */
-#define SY t1 /* scaled Y */
-#define S t2 /* scalar */
-#define QY t3 /* Q*Y */
-
- cvttq/c $f0, $f0
- _FTOIT $f0, Q, 8
- mulq Q, Y, QY
-
- .align 4
- stq t4, 8(sp)
- excb
- ldt $f0, 0(sp)
- mt_fpcr $f3
- cfi_rel_offset (t4, 8)
- cfi_restore ($f0)
-
- subq QY, X, R
- mov Y, SY
- mov 1, S
- bgt R, $q_high
-
-$q_high_ret:
- subq X, QY, R
- mov Y, SY
- mov 1, S
- bgt R, $q_low
-
-$q_low_ret:
- ldq t4, 8(sp)
- ldq t0, 16(sp)
- ldq t1, 24(sp)
- ldq t2, 32(sp)
-
- ldq t3, 40(sp)
- ldt $f3, 48(sp)
- lda sp, FRAME(sp)
- cfi_remember_state
- cfi_restore (t0)
- cfi_restore (t1)
- cfi_restore (t2)
- cfi_restore (t3)
- cfi_restore (t4)
- cfi_restore ($f3)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- .align 4
- cfi_restore_state
- /* The quotient that we computed was too large. We need to reduce
- it by S such that Y*S >= R. Obviously the closer we get to the
- correct value the better, but overshooting high is ok, as we'll
- fix that up later. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_high:
- cmpult SY, R, AT
- bne AT, 0b
-
- subq Q, S, Q
- unop
- subq QY, SY, QY
- br $q_high_ret
-
- .align 4
- /* The quotient that we computed was too small. Divide Y by the
- current remainder (R) and add that to the existing quotient (Q).
- The expectation, of course, is that R is much smaller than X. */
- /* Begin with a shift-up loop. Compute S such that Y*S >= R. We
- already have a copy of Y in SY and the value 1 in S. */
-0:
- addq SY, SY, SY
- addq S, S, S
-$q_low:
- cmpult SY, R, AT
- bne AT, 0b
-
- /* Shift-down and subtract loop. Each iteration compares our scaled
- Y (SY) with the remainder (R); if SY <= R then X is divisible by
- Y's scalar (S) so add it to the quotient (Q). */
-2: addq Q, S, t3
- srl S, 1, S
- cmpule SY, R, AT
- subq R, SY, t4
-
- cmovne AT, t3, Q
- cmovne AT, t4, R
- srl SY, 1, SY
- bne S, 2b
-
- br $q_low_ret
-
- .align 4
- cfi_restore_state
-$y_is_neg:
- /* If we get here, Y is so big that bit 63 is set. The results
- from the divide will be completely wrong. Fortunately, the
- quotient must be either 0 or 1, so the remainder must be X
- or X-Y, so just compute it directly. */
- cmpule Y, X, AT
- subq X, Y, RV
- ldt $f0, 0(sp)
- cmoveq AT, X, RV
-
- lda sp, FRAME(sp)
- cfi_restore ($f0)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- .align 4
- cfi_def_cfa_offset (FRAME)
-$powerof2:
- subq Y, 1, AT
- beq Y, DIVBYZERO
- and X, AT, RV
- lda sp, FRAME(sp)
- cfi_def_cfa_offset (0)
- ret $31, (RA), 1
-
- cfi_endproc
- .size __remqu, .-__remqu
-
- DO_DIVBYZERO
diff --git a/ports/sysdeps/alpha/rshift.S b/ports/sysdeps/alpha/rshift.S
deleted file mode 100644
index b458795..0000000
--- a/ports/sysdeps/alpha/rshift.S
+++ /dev/null
@@ -1,105 +0,0 @@
- # Alpha 21064 __mpn_rshift --
-
- # Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # cnt r19
-
- # This code runs at 4.8 cycles/limb on the 21064. With infinite unrolling,
- # it would take 4 cycles/limb. It should be possible to get down to 3
- # cycles/limb since both ldq and stq can be paired with the other used
- # instructions. But there are many restrictions in the 21064 pipeline that
- # makes it hard, if not impossible, to get down to 3 cycles/limb:
-
- # 1. ldq has a 3 cycle delay, srl and sll have a 2 cycle delay.
- # 2. Only aligned instruction pairs can be paired.
- # 3. The store buffer or silo might not be able to deal with the bandwidth.
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_rshift
- .ent __mpn_rshift
-__mpn_rshift:
- .frame $30,0,$26,0
-
- ldq $4,0($17) # load first limb
- addq $17,8,$17
- subq $31,$19,$7
- subq $18,1,$18
- and $18,4-1,$20 # number of limbs in first loop
- sll $4,$7,$0 # compute function result
-
- beq $20,.L0
- subq $18,$20,$18
-
- .align 3
-.Loop0:
- ldq $3,0($17)
- addq $16,8,$16
- addq $17,8,$17
- subq $20,1,$20
- srl $4,$19,$5
- sll $3,$7,$6
- bis $3,$3,$4
- bis $5,$6,$8
- stq $8,-8($16)
- bne $20,.Loop0
-
-.L0: beq $18,.Lend
-
- .align 3
-.Loop: ldq $3,0($17)
- addq $16,32,$16
- subq $18,4,$18
- srl $4,$19,$5
- sll $3,$7,$6
-
- ldq $4,8($17)
- srl $3,$19,$1
- bis $5,$6,$8
- stq $8,-32($16)
- sll $4,$7,$2
-
- ldq $3,16($17)
- srl $4,$19,$5
- bis $1,$2,$8
- stq $8,-24($16)
- sll $3,$7,$6
-
- ldq $4,24($17)
- srl $3,$19,$1
- bis $5,$6,$8
- stq $8,-16($16)
- sll $4,$7,$2
-
- addq $17,32,$17
- bis $1,$2,$8
- stq $8,-8($16)
-
- bgt $18,.Loop
-
-.Lend: srl $4,$19,$8
- stq $8,0($16)
- ret $31,($26),1
- .end __mpn_rshift
diff --git a/ports/sysdeps/alpha/setjmp.S b/ports/sysdeps/alpha/setjmp.S
deleted file mode 100644
index f79837c..0000000
--- a/ports/sysdeps/alpha/setjmp.S
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __ASSEMBLY__
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
- .ent __sigsetjmp
- .global __sigsetjmp
-__sigsetjmp:
- ldgp gp, 0(pv)
-
-$sigsetjmp_local:
-#ifndef PIC
-#define FRAME 16
- subq sp, FRAME, sp
- .frame sp, FRAME, ra, 0
- stq ra, 0(sp)
- .mask 0x04000000, -FRAME
-#else
-#define FRAME 0
- .frame sp, FRAME, ra, 0
-#endif
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- stq s0, JB_S0*8(a0)
- stq s1, JB_S1*8(a0)
- stq s2, JB_S2*8(a0)
- stq s3, JB_S3*8(a0)
- stq s4, JB_S4*8(a0)
- stq s5, JB_S5*8(a0)
-#ifdef PTR_MANGLE
- PTR_MANGLE(t1, ra, t0)
- stq t1, JB_PC*8(a0)
-#else
- stq ra, JB_PC*8(a0)
-#endif
-#if defined(PTR_MANGLE) && FRAME == 0
- PTR_MANGLE2(t1, sp, t0)
-#else
- addq sp, FRAME, t1
-# ifdef PTR_MANGLE
- PTR_MANGLE2(t1, t1, t0)
-# endif
-#endif
- stq t1, JB_SP*8(a0)
-#ifdef PTR_MANGLE
- PTR_MANGLE2(t1, fp, t0)
- stq t1, JB_FP*8(a0)
-#else
- stq fp, JB_FP*8(a0)
-#endif
- stt $f2, JB_F2*8(a0)
- stt $f3, JB_F3*8(a0)
- stt $f4, JB_F4*8(a0)
- stt $f5, JB_F5*8(a0)
- stt $f6, JB_F6*8(a0)
- stt $f7, JB_F7*8(a0)
- stt $f8, JB_F8*8(a0)
- stt $f9, JB_F9*8(a0)
-
-#ifndef PIC
- /* Call to C to (potentially) save our signal mask. */
- jsr ra, __sigjmp_save
- ldq ra, 0(sp)
- addq sp, 16, sp
- ret
-#elif defined NOT_IN_libc && defined IS_IN_rtld
- /* In ld.so we never save the signal mask. */
- mov 0, v0
- ret
-#else
- /* Tailcall to save the signal mask. */
- br $31, __sigjmp_save !samegp
-#endif
-
-END(__sigsetjmp)
-
-/* Put these traditional entry points in the same file so that we can
- elide much of the nonsense in trying to jmp to the real function. */
-
-ENTRY(_setjmp)
- ldgp gp, 0(pv)
- .prologue 1
- mov 0, a1
- br $sigsetjmp_local
-END(_setjmp)
-libc_hidden_def (_setjmp)
-
-ENTRY(setjmp)
- ldgp gp, 0(pv)
- .prologue 1
- mov 1, a1
- br $sigsetjmp_local
-END(setjmp)
-
-weak_extern(_setjmp)
-weak_extern(setjmp)
diff --git a/ports/sysdeps/alpha/shlib-versions b/ports/sysdeps/alpha/shlib-versions
deleted file mode 100644
index cd4b9af..0000000
--- a/ports/sysdeps/alpha/shlib-versions
+++ /dev/null
@@ -1,14 +0,0 @@
-alpha.*-.*-linux.* libm=6.1
-alpha.*-.*-linux.* libc=6.1
-
-alpha.*-.*-linux.* ld=ld-linux.so.2
-
-alpha.*-.*-linux.* libdl=2.1
-
-alpha.*-.*-linux.* libutil=1.1
-
-alpha.*-.*-linux.* libresolv=2.1
-
-alpha.*-.*-linux.* libnsl=1.1
-alpha.*-.*-linux.* libcrypt=1.1
-alpha.*-.*-linux.* libBrokenLocale=1.1
diff --git a/ports/sysdeps/alpha/soft-fp/Makefile b/ports/sysdeps/alpha/soft-fp/Makefile
deleted file mode 100644
index 5410a78..0000000
--- a/ports/sysdeps/alpha/soft-fp/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# Software floating-point emulation.
-
-ifeq ($(subdir),soft-fp)
-sysdep_routines += ots_add ots_sub ots_mul ots_div ots_cmp ots_cmpe \
- ots_cvtxq ots_cvtqx ots_cvtqux ots_cvttx ots_cvtxt ots_nintxq
-endif
-
-ifeq ($(subdir),math)
-CPPFLAGS += -I../soft-fp
-endif
diff --git a/ports/sysdeps/alpha/soft-fp/Versions b/ports/sysdeps/alpha/soft-fp/Versions
deleted file mode 100644
index 3901287..0000000
--- a/ports/sysdeps/alpha/soft-fp/Versions
+++ /dev/null
@@ -1,8 +0,0 @@
-libc {
- GLIBC_2.3.4 {
- _OtsAddX; _OtsSubX; _OtsMulX; _OtsDivX;
- _OtsEqlX; _OtsNeqX; _OtsLssX; _OtsLeqX; _OtsGtrX; _OtsGeqX;
- _OtsCvtQX; _OtsCvtQUX; _OtsCvtXQ; _OtsNintXQ;
- _OtsConvertFloatTX; _OtsConvertFloatXT;
- }
-}
diff --git a/ports/sysdeps/alpha/soft-fp/e_sqrtl.c b/ports/sysdeps/alpha/soft-fp/e_sqrtl.c
deleted file mode 100644
index 256e5ef..0000000
--- a/ports/sysdeps/alpha/soft-fp/e_sqrtl.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* long double square root in software floating-point emulation.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdlib.h>
-#include <soft-fp.h>
-#include <quad.h>
-#include <shlib-compat.h>
-
-long double
-__ieee754_sqrtl (const long double a)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(C);
- long double c;
- long _round = 4; /* dynamic rounding */
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_Q(A, a);
- FP_SQRT_Q(C, A);
- FP_PACK_Q(c, C);
- FP_HANDLE_EXCEPTIONS;
- return c;
-}
-
-/* ??? We forgot to add this symbol in 2.15. Getting this into 2.18 isn't as
- straight-forward as just adding the alias, since a generic Versions file
- includes the 2.15 version and the linker uses the first one it sees. */
-#if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18)
-versioned_symbol (libm, __ieee754_sqrtl, __sqrtl_finite, GLIBC_2_18);
-#else
-strong_alias(__ieee754_sqrtl, __sqrtl_finite)
-#endif
diff --git a/ports/sysdeps/alpha/soft-fp/local-soft-fp.h b/ports/sysdeps/alpha/soft-fp/local-soft-fp.h
deleted file mode 100644
index e93a2ad..0000000
--- a/ports/sysdeps/alpha/soft-fp/local-soft-fp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#include <stdlib.h>
-#include <soft-fp.h>
-#include <quad.h>
-
-/* Helpers for the Ots functions which receive long double arguments
- in two integer registers, and return values in $16+$17. */
-
-#undef _FP_UNPACK_RAW_2
-#define _FP_UNPACK_RAW_2(fs, X, val) \
- do { \
- union _FP_UNION_##fs _flo; \
- _flo.longs.a = val##l; \
- _flo.longs.b = val##h; \
- X##_f0 = _flo.bits.frac0; \
- X##_f1 = _flo.bits.frac1; \
- X##_e = _flo.bits.exp; \
- X##_s = _flo.bits.sign; \
- } while (0)
-
-#undef _FP_PACK_RAW_2
-#define _FP_PACK_RAW_2(fs, val, X) \
- do { \
- union _FP_UNION_##fs _flo; \
- _flo.bits.frac0 = X##_f0; \
- _flo.bits.frac1 = X##_f1; \
- _flo.bits.exp = X##_e; \
- _flo.bits.sign = X##_s; \
- val##l = _flo.longs.a; \
- val##h = _flo.longs.b; \
- } while (0)
-
-#define FP_DECL_RETURN(X) \
- long X##l, X##h
-
-/* ??? We don't have a real way to tell the compiler that we're wanting
- to return values in $16+$17. Instead use a volatile asm to make sure
- that the values are live, and just hope that nothing kills the values
- in between here and the end of the function. */
-#define FP_RETURN(X) \
-do { \
- register long r16 __asm__("16") = X##l; \
- register long r17 __asm__("17") = X##h; \
- asm volatile ("" : : "r"(r16), "r"(r17)); \
-} while (0)
diff --git a/ports/sysdeps/alpha/soft-fp/ots_add.c b/ports/sysdeps/alpha/soft-fp/ots_add.c
deleted file mode 100644
index 9cd5655..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_add.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Software floating-point emulation: addition.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-void
-_OtsAddX(long al, long ah, long bl, long bh, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_SEMIRAW_Q(A, a);
- FP_UNPACK_SEMIRAW_Q(B, b);
- FP_ADD_Q(C, A, B);
- FP_PACK_SEMIRAW_Q(c, C);
- FP_HANDLE_EXCEPTIONS;
-
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cmp.c b/ports/sysdeps/alpha/soft-fp/ots_cmp.c
deleted file mode 100644
index c28aa4f..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cmp.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Software floating-point emulation: comparison.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-static long
-internal_equality (long al, long ah, long bl, long bh, long neq)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B);
- long r;
-
- FP_UNPACK_RAW_Q(A, a);
- FP_UNPACK_RAW_Q(B, b);
-
- if ((A_e == _FP_EXPMAX_Q && !_FP_FRAC_ZEROP_2(A))
- || (B_e == _FP_EXPMAX_Q && !_FP_FRAC_ZEROP_2(B)))
- {
- /* EQ and NE signal invalid operation only if either operand is SNaN. */
- if (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))
- {
- FP_SET_EXCEPTION(FP_EX_INVALID);
- FP_HANDLE_EXCEPTIONS;
- }
- return -1;
- }
-
- r = (A_e == B_e
- && _FP_FRAC_EQ_2 (A, B)
- && (A_s == B_s || (!A_e && _FP_FRAC_ZEROP_2(A))));
- r ^= neq;
-
- return r;
-}
-
-long
-_OtsEqlX (long al, long ah, long bl, long bh)
-{
- return internal_equality (al, ah, bl, bh, 0);
-}
-
-long
-_OtsNeqX (long al, long ah, long bl, long bh)
-{
- return internal_equality (al, ah, bl, bh, 1);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cmpe.c b/ports/sysdeps/alpha/soft-fp/ots_cmpe.c
deleted file mode 100644
index adeda84..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cmpe.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Software floating-point emulation: comparison.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-static long
-internal_compare (long al, long ah, long bl, long bh)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B);
- long r;
-
- FP_UNPACK_RAW_Q(A, a);
- FP_UNPACK_RAW_Q(B, b);
- FP_CMP_Q (r, A, B, 2);
-
- /* Relative comparisons signal invalid operation if either operand is NaN. */
- if (r == 2)
- {
- FP_SET_EXCEPTION(FP_EX_INVALID);
- FP_HANDLE_EXCEPTIONS;
- }
-
- return r;
-}
-
-long
-_OtsLssX (long al, long ah, long bl, long bh)
-{
- long r = internal_compare (al, ah, bl, bh);
- if (r == 2)
- return -1;
- else
- return r < 0;
-}
-
-long
-_OtsLeqX (long al, long ah, long bl, long bh)
-{
- long r = internal_compare (al, ah, bl, bh);
- if (r == 2)
- return -1;
- else
- return r <= 0;
-}
-
-long
-_OtsGtrX (long al, long ah, long bl, long bh)
-{
- long r = internal_compare (al, ah, bl, bh);
- if (r == 2)
- return -1;
- else
- return r > 0;
-}
-
-long
-_OtsGeqX (long al, long ah, long bl, long bh)
-{
- long r = internal_compare (al, ah, bl, bh);
- if (r == 2)
- return -1;
- else
- return r >= 0;
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cvtqux.c b/ports/sysdeps/alpha/soft-fp/ots_cvtqux.c
deleted file mode 100644
index 5562098..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cvtqux.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Software floating-point emulation: unsigned integer to float conversion.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-/* Should never actually be used, since we've more bits of precision
- than the incomming long, but needed for linkage. */
-#undef FP_ROUNDMODE
-#define FP_ROUNDMODE FP_RND_ZERO
-
-void
-_OtsCvtQUX (unsigned long a)
-{
- FP_DECL_EX;
- FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_FROM_INT_Q(C, a, 64, unsigned long);
- FP_PACK_RAW_Q(c, C);
-
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cvtqx.c b/ports/sysdeps/alpha/soft-fp/ots_cvtqx.c
deleted file mode 100644
index f062a08..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cvtqx.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Software floating-point emulation: signed integer to float conversion.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-/* Should never actually be used, since we've more bits of precision
- than the incomming long, but needed for linkage. */
-#undef FP_ROUNDMODE
-#define FP_ROUNDMODE FP_RND_ZERO
-
-void
-_OtsCvtQX (long a)
-{
- FP_DECL_EX;
- FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_FROM_INT_Q(C, a, 64, unsigned long);
- FP_PACK_RAW_Q(c, C);
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cvttx.c b/ports/sysdeps/alpha/soft-fp/ots_cvttx.c
deleted file mode 100644
index a01cd95..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cvttx.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Software floating-point emulation: floating point extension.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-#include "double.h"
-
-/* Should never actually be used, since we're extending, but needed
- for linkage. */
-#undef FP_ROUNDMODE
-#define FP_ROUNDMODE FP_RND_ZERO
-
-void
-_OtsConvertFloatTX(double a)
-{
- FP_DECL_EX;
- FP_DECL_D(A);
- FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_UNPACK_RAW_D(A, a);
-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
- FP_EXTEND(Q,D,4,2,C,A);
-#else
- FP_EXTEND(Q,D,2,1,C,A);
-#endif
- FP_PACK_RAW_Q(c, C);
- FP_HANDLE_EXCEPTIONS;
-
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cvtxq.c b/ports/sysdeps/alpha/soft-fp/ots_cvtxq.c
deleted file mode 100644
index 1eef949..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cvtxq.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Software floating-point emulation: float to integer conversion.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-long
-_OtsCvtXQ (long al, long ah, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A);
- unsigned long r;
- long s;
-
- /* If bit 3 is set, then integer overflow detection is requested. */
- s = _round & 8 ? 1 : -1;
- _round = _round & 3;
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_RAW_Q(A, a);
- FP_TO_INT_Q(r, A, 64, s);
-
- if (s > 0 && (_fex &= FP_EX_INVALID))
- FP_HANDLE_EXCEPTIONS;
-
- return r;
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_cvtxt.c b/ports/sysdeps/alpha/soft-fp/ots_cvtxt.c
deleted file mode 100644
index 94e3f31..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_cvtxt.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Software floating-point emulation: floating point truncation.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-#include "double.h"
-
-double
-_OtsConvertFloatXT (long al, long ah, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A);
- FP_DECL_D(R);
- double r;
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_SEMIRAW_Q(A, a);
-#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q
- FP_TRUNC(D,Q,2,4,R,A);
-#else
- FP_TRUNC(D,Q,1,2,R,A);
-#endif
- FP_PACK_SEMIRAW_D(r, R);
- FP_HANDLE_EXCEPTIONS;
-
- return r;
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_div.c b/ports/sysdeps/alpha/soft-fp/ots_div.c
deleted file mode 100644
index 4d1c8543..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_div.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Software floating-point emulation: division.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-void
-_OtsDivX(long al, long ah, long bl, long bh, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_Q(A, a);
- FP_UNPACK_Q(B, b);
- FP_DIV_Q(C, A, B);
- FP_PACK_Q(c, C);
- FP_HANDLE_EXCEPTIONS;
-
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_mul.c b/ports/sysdeps/alpha/soft-fp/ots_mul.c
deleted file mode 100644
index 39fe823..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_mul.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Software floating-point emulation: multiplication.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-void
-_OtsMulX(long al, long ah, long bl, long bh, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_Q(A, a);
- FP_UNPACK_Q(B, b);
- FP_MUL_Q(C, A, B);
- FP_PACK_Q(c, C);
- FP_HANDLE_EXCEPTIONS;
-
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_nintxq.c b/ports/sysdeps/alpha/soft-fp/ots_nintxq.c
deleted file mode 100644
index cfdf386..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_nintxq.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Software floating-point emulation: convert to fortran nearest.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-long
-_OtsNintXQ (long al, long ah, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
- unsigned long r;
- long s;
-
- /* If bit 3 is set, then integer overflow detection is requested. */
- s = _round & 8 ? 1 : -1;
- _round = _round & 3;
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_SEMIRAW_Q(A, a);
-
- /* Build 0.5 * sign(A) */
- B_e = _FP_EXPBIAS_Q;
- __FP_FRAC_SET_2 (B, 0, 0);
- B_s = A_s;
-
- FP_ADD_Q(C, A, B);
- _FP_FRAC_SRL_2(C, _FP_WORKBITS);
- _FP_FRAC_HIGH_RAW_Q(C) &= ~(_FP_W_TYPE)_FP_IMPLBIT_Q;
- FP_TO_INT_Q(r, C, 64, s);
- if (s > 0 && (_fex &= FP_EX_INVALID))
- FP_HANDLE_EXCEPTIONS;
-
- return r;
-}
diff --git a/ports/sysdeps/alpha/soft-fp/ots_sub.c b/ports/sysdeps/alpha/soft-fp/ots_sub.c
deleted file mode 100644
index 6deb9d9..0000000
--- a/ports/sysdeps/alpha/soft-fp/ots_sub.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Software floating-point emulation: subtraction.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com) and
- Jakub Jelinek (jj@ultra.linux.cz).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "local-soft-fp.h"
-
-void
-_OtsSubX(long al, long ah, long bl, long bh, long _round)
-{
- FP_DECL_EX;
- FP_DECL_Q(A); FP_DECL_Q(B); FP_DECL_Q(C);
- FP_DECL_RETURN(c);
-
- FP_INIT_ROUNDMODE;
- FP_UNPACK_SEMIRAW_Q(A, a);
- FP_UNPACK_SEMIRAW_Q(B, b);
- FP_SUB_Q(C, A, B);
- FP_PACK_SEMIRAW_Q(c, C);
- FP_HANDLE_EXCEPTIONS;
-
- FP_RETURN(c);
-}
diff --git a/ports/sysdeps/alpha/soft-fp/sfp-machine.h b/ports/sysdeps/alpha/soft-fp/sfp-machine.h
deleted file mode 100644
index cceccaf..0000000
--- a/ports/sysdeps/alpha/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Machine-dependent software floating-point definitions.
- Alpha userland IEEE 128-bit version.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@cygnus.com),
- Jakub Jelinek (jj@ultra.linux.cz) and
- David S. Miller (davem@redhat.com).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fenv_libc.h>
-
-#define _FP_W_TYPE_SIZE 64
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#define _FP_MUL_MEAT_S(R,X,Y) \
- _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y)
-#define _FP_MUL_MEAT_D(R,X,Y) \
- _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y) \
- _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm)
-#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1)
-#define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1
-#define _FP_NANSIGN_S 0
-#define _FP_NANSIGN_D 0
-#define _FP_NANSIGN_Q 0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* Alpha Architecture Handbook, 4.7.10.4 sez that we should prefer any
- type of NaN in Fb, then Fa. */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
- do { \
- R##_s = Y##_s; \
- _FP_FRAC_COPY_##wc(R,X); \
- R##_c = FP_CLS_NAN; \
- } while (0)
-
-/* Rounding mode settings. */
-#define FP_RND_NEAREST FE_TONEAREST
-#define FP_RND_ZERO FE_TOWARDZERO
-#define FP_RND_PINF FE_UPWARD
-#define FP_RND_MINF FE_DOWNWARD
-
-/* Obtain the current rounding mode. It's given as an argument to
- all the Ots functions, with 4 meaning "dynamic". */
-#define FP_ROUNDMODE _round
-
-/* Exception flags. */
-#define FP_EX_INVALID FE_INVALID
-#define FP_EX_OVERFLOW FE_OVERFLOW
-#define FP_EX_UNDERFLOW FE_UNDERFLOW
-#define FP_EX_DIVZERO FE_DIVBYZERO
-#define FP_EX_INEXACT FE_INEXACT
-
-#define FP_INIT_ROUNDMODE \
-do { \
- if (__builtin_expect (_round == 4, 0)) \
- { \
- unsigned long t; \
- __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(t)); \
- _round = (t >> FPCR_ROUND_SHIFT) & 3; \
- } \
-} while (0)
-
-#define FP_HANDLE_EXCEPTIONS \
-do { \
- if (__builtin_expect (_fex, 0)) \
- { \
- unsigned long t = __ieee_get_fp_control (); \
- __ieee_set_fp_control (t | _fex); \
- } \
-} while (0)
-
-#define FP_TRAPPING_EXCEPTIONS \
- ((__ieee_get_fp_control () & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT)
diff --git a/ports/sysdeps/alpha/sotruss-lib.c b/ports/sysdeps/alpha/sotruss-lib.c
deleted file mode 100644
index 51a263d..0000000
--- a/ports/sysdeps/alpha/sotruss-lib.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Override generic sotruss-lib.c to define actual functions for Alpha.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
-
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define HAVE_ARCH_PLTENTER
-#define HAVE_ARCH_PLTEXIT
-
-#include <elf/sotruss-lib.c>
-
-ElfW(Addr)
-la_alpha_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)),
- unsigned int ndx __attribute__ ((unused)),
- uintptr_t *refcook, uintptr_t *defcook,
- La_alpha_regs *regs, unsigned int *flags,
- const char *symname, long int *framesizep)
-{
- print_enter (refcook, defcook, symname,
- regs->lr_r16, regs->lr_r17, regs->lr_r18, *flags);
-
- /* No need to copy anything, we will not need the parameters in any case. */
- *framesizep = 0;
-
- return sym->st_value;
-}
-
-unsigned int
-la_alpha_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
- uintptr_t *defcook,
- const struct La_alpha_regs *inregs,
- struct La_alpha_retval *outregs, const char *symname)
-{
- print_exit (refcook, defcook, symname, outregs->lrv_r0);
-
- return 0;
-}
diff --git a/ports/sysdeps/alpha/stackinfo.h b/ports/sysdeps/alpha/stackinfo.h
deleted file mode 100644
index 026bf56..0000000
--- a/ports/sysdeps/alpha/stackinfo.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains a bit of information about the stack allocation
- of the processor. */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H 1
-
-#include <elf.h>
-
-/* On Alpha the stack grows down. */
-#define _STACK_GROWS_DOWN 1
-
-/* Default to an executable stack. PF_X can be overridden if PT_GNU_STACK is
- * present, but it is presumed absent. */
-#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X)
-
-#endif /* stackinfo.h */
diff --git a/ports/sysdeps/alpha/start.S b/ports/sysdeps/alpha/start.S
deleted file mode 100644
index cf195c1..0000000
--- a/ports/sysdeps/alpha/start.S
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Startup code for Alpha/ELF.
- Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
- .text
- .align 3
- .globl _start
- .ent _start, 0
- .type _start,@function
-_start:
- .frame $15, 0, $15
- br gp, 1f
-1: ldgp gp, 0(gp)
- subq sp, 16, sp
- mov 0, $15
- .prologue 0
-
- /* Load address of the user's main function. */
- lda a0, main
-
- ldl a1, 16(sp) /* get argc */
- lda a2, 24(sp) /* get argv */
-
- /* Load address of our own entry points to .fini and .init. */
- lda a3, __libc_csu_init
- lda a4, __libc_csu_fini
-
- /* Store address of the shared library termination function. */
- mov v0, a5
-
- /* Provide the highest stack address to the user code. */
- stq sp, 0(sp)
-
- /* Call the user's main function, and exit with its value.
- But let the libc call main. */
- jsr ra, __libc_start_main
-
- /* Die very horribly if exit returns. Call_pal hlt is callable from
- kernel mode only; this will result in an illegal instruction trap. */
- call_pal 0
- .end _start
-
-/* For ECOFF backwards compatibility. */
-weak_alias (_start, __start)
-
-/* Define a symbol for the first piece of initialized data. */
- .data
- .globl __data_start
-__data_start:
- .weak data_start
- data_start = __data_start
diff --git a/ports/sysdeps/alpha/stpcpy.S b/ports/sysdeps/alpha/stpcpy.S
deleted file mode 100644
index 8b989d9..0000000
--- a/ports/sysdeps/alpha/stpcpy.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy a null-terminated string from SRC to DST. Return a pointer
- to the null-terminator in the source. */
-
-#include <sysdep.h>
-
- .text
-
-ENTRY(__stpcpy)
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- jsr t9, __stxcpy # do the work of the copy
-
- and t8, 0xf0, t2 # binary search for byte offset of the
- and t8, 0xcc, t1 # last byte written.
- and t8, 0xaa, t0
- andnot a0, 7, a0
- cmovne t2, 4, t2
- cmovne t1, 2, t1
- cmovne t0, 1, t0
- addq a0, t2, v0
- addq t0, t1, t0
- addq v0, t0, v0
-
- ret
-
- END(__stpcpy)
-
-weak_alias (__stpcpy, stpcpy)
-libc_hidden_def (__stpcpy)
-libc_hidden_builtin_def (stpcpy)
diff --git a/ports/sysdeps/alpha/stpncpy.S b/ports/sysdeps/alpha/stpncpy.S
deleted file mode 100644
index 82a109d..0000000
--- a/ports/sysdeps/alpha/stpncpy.S
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@tamu.edu)
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
- SRC to DST. If SRC does not cover all of COUNT, the balance is
- zeroed. Return the address of the terminating null in DEST, if
- any, else DEST + COUNT. */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
-
-ENTRY(__stpncpy)
- ldgp gp, 0(pv)
-#ifdef PROF
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
- .prologue 1
-
- beq a2, $zerocount
- jsr t9, __stxncpy # do the work of the copy
-
- and t8, 0xf0, t3 # binary search for byte offset of the
- and t8, 0xcc, t2 # last byte written.
- and t8, 0xaa, t1
- andnot a0, 7, v0
- cmovne t3, 4, t3
- cmovne t2, 2, t2
- cmovne t1, 1, t1
- addq v0, t3, v0
- addq t1, t2, t1
- addq v0, t1, v0
-
- bne a2, $multiword # do we have full words left?
-
- .align 3
- zapnot t0, t8, t4 # e0 : was last byte a null?
- subq t8, 1, t2 # .. e1 :
- addq v0, 1, t5 # e0 :
- subq t10, 1, t3 # .. e1 :
- or t2, t8, t2 # e0 : clear the bits between the last
- or t3, t10, t3 # .. e1 : written byte and the last byte in
- andnot t3, t2, t3 # e0 : COUNT
- cmovne t4, t5, v0 # .. e1 : if last written wasnt null, inc v0
- zap t0, t3, t0 # e0 :
- stq_u t0, 0(a0) # e1 :
- ret # .. e1 :
-
- .align 3
-$multiword:
- subq t8, 1, t7 # e0 : clear the final bits in the prev
- or t7, t8, t7 # e1 : word
- zapnot t0, t7, t0 # e0 :
- subq a2, 1, a2 # .. e1 :
- stq_u t0, 0(a0) # e0 :
- addq a0, 8, a0 # .. e1 :
-
- beq a2, 1f # e1 :
- blbc a2, 0f # e1 :
-
- stq_u zero, 0(a0) # e0 : zero one word
- subq a2, 1, a2 # .. e1 :
- addq a0, 8, a0 # e0 :
- beq a2, 1f # .. e1 :
-
-0: stq_u zero, 0(a0) # e0 : zero two words
- subq a2, 2, a2 # .. e1 :
- stq_u zero, 8(a0) # e0 :
- addq a0, 16, a0 # .. e1 :
- bne a2, 0b # e1 :
- unop
-
-1: ldq_u t0, 0(a0) # e0 : clear the leading bits in the final
- subq t10, 1, t7 # .. e1 : word
- or t7, t10, t7 # e0 :
- zap t0, t7, t0 # e1 (stall)
- stq_u t0, 0(a0) # e0 :
- ret # .. e1 :
-
-$zerocount:
- mov a0, v0
- ret
-
- END(__stpncpy)
-
-libc_hidden_def (__stpncpy)
-weak_alias (__stpncpy, stpncpy)
diff --git a/ports/sysdeps/alpha/strcat.S b/ports/sysdeps/alpha/strcat.S
deleted file mode 100644
index 0b856a4..0000000
--- a/ports/sysdeps/alpha/strcat.S
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Append a null-terminated string from SRC to DST. */
-
-#include <sysdep.h>
-
- .text
-
-ENTRY(strcat)
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- mov a0, v0 # set up return value
-
- /* Find the end of the string. */
-
- ldq_u t0, 0(a0) # load first quadword (a0 may be misaligned)
- lda t1, -1(zero)
- insqh t1, a0, t1
- andnot a0, 7, a0
- or t1, t0, t0
- cmpbge zero, t0, t1 # t1 <- bitmask: bit i == 1 <==> i-th byte == 0
- bne t1, $found
-
-$loop: ldq t0, 8(a0)
- addq a0, 8, a0 # addr += 8
- cmpbge zero, t0, t1
- beq t1, $loop
-
-$found: negq t1, t2 # clear all but least set bit
- and t1, t2, t1
-
- and t1, 0xf0, t2 # binary search for that set bit
- and t1, 0xcc, t3
- and t1, 0xaa, t4
- cmovne t2, 4, t2
- cmovne t3, 2, t3
- cmovne t4, 1, t4
- addq t2, t3, t2
- addq a0, t4, a0
- addq a0, t2, a0
-
- /* Now do the append. */
-
- mov ra, t9
- jmp $31, __stxcpy
-
- END(strcat)
-libc_hidden_builtin_def (strcat)
diff --git a/ports/sysdeps/alpha/strchr.S b/ports/sysdeps/alpha/strchr.S
deleted file mode 100644
index ba46ab3..0000000
--- a/ports/sysdeps/alpha/strchr.S
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson (rth@tamu.edu)
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Return the address of a given character within a null-terminated
- string, or null if it is not found.
-
- This is generally scheduled for the EV5 (got to look out for my own
- interests :-), but with EV4 needs in mind. There *should* be no more
- stalls for the EV4 than there are for the EV5.
-*/
-
-#include <sysdep.h>
-
- .set noreorder
- .set noat
-
-ENTRY(strchr)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- zapnot a1, 1, a1 # e0 : zero extend the search character
- ldq_u t0, 0(a0) # .. e1 : load first quadword
- sll a1, 8, t5 # e0 : replicate the search character
- andnot a0, 7, v0 # .. e1 : align our loop pointer
- or t5, a1, a1 # e0 :
- lda t4, -1 # .. e1 : build garbage mask
- sll a1, 16, t5 # e0 :
- cmpbge zero, t0, t2 # .. e1 : bits set iff byte == zero
- mskqh t4, a0, t4 # e0 :
- or t5, a1, a1 # .. e1 :
- sll a1, 32, t5 # e0 :
- cmpbge zero, t4, t4 # .. e1 : bits set iff byte is garbage
- or t5, a1, a1 # e0 :
- xor t0, a1, t1 # .. e1 : make bytes == c zero
- cmpbge zero, t1, t3 # e0 : bits set iff byte == c
- or t2, t3, t0 # e1 : bits set iff char match or zero match
- andnot t0, t4, t0 # e0 : clear garbage bits
- bne t0, $found # .. e1 (zdb)
-
-$loop: ldq t0, 8(v0) # e0 :
- addq v0, 8, v0 # .. e1 :
- nop # e0 :
- xor t0, a1, t1 # .. e1 (ev5 data stall)
- cmpbge zero, t0, t2 # e0 : bits set iff byte == 0
- cmpbge zero, t1, t3 # .. e1 : bits set iff byte == c
- or t2, t3, t0 # e0 :
- beq t0, $loop # .. e1 (zdb)
-
-$found: negq t0, t1 # e0 : clear all but least set bit
- and t0, t1, t0 # e1 (stall)
-
- and t0, t3, t1 # e0 : bit set iff byte was the char
- beq t1, $retnull # .. e1 (zdb)
-
- and t0, 0xf0, t2 # e0 : binary search for that set bit
- and t0, 0xcc, t3 # .. e1 :
- and t0, 0xaa, t4 # e0 :
- cmovne t2, 4, t2 # .. e1 :
- cmovne t3, 2, t3 # e0 :
- cmovne t4, 1, t4 # .. e1 :
- addq t2, t3, t2 # e0 :
- addq v0, t4, v0 # .. e1 :
- addq v0, t2, v0 # e0 :
- ret # .. e1 :
-
-$retnull:
- mov zero, v0 # e0 :
- ret # .. e1 :
-
- END(strchr)
-
-weak_alias (strchr, index)
-libc_hidden_builtin_def (strchr)
diff --git a/ports/sysdeps/alpha/strcmp.S b/ports/sysdeps/alpha/strcmp.S
deleted file mode 100644
index a9fa893..0000000
--- a/ports/sysdeps/alpha/strcmp.S
+++ /dev/null
@@ -1,194 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Bytewise compare two null-terminated strings. */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
-
-ENTRY(strcmp)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jmp AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- ldq_u t0, 0(a0) # e0 : give cache time to catch up
- xor a0, a1, t2 # .. e1 : are s1 and s2 co-aligned?
- ldq_u t1, 0(a1) # e0 :
- and t2, 7, t2 # .. e1 :
- lda t3, -1 # e0 :
- bne t2, $unaligned # .. e1 :
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == the first source word.
- t3 == -1. */
-
-$aligned:
- mskqh t3, a0, t3 # e0 :
- nop # .. e1 :
- ornot t1, t3, t1 # e0 :
- ornot t0, t3, t0 # .. e1 :
- cmpbge zero, t1, t7 # e0 : bits set iff null found
- bne t7, $eos # e1 (zdb)
-
- /* Aligned compare main loop.
- On entry to this basic block:
- t0 == an s1 word.
- t1 == an s2 word not containing a null. */
-
-$a_loop:
- xor t0, t1, t2 # e0 :
- bne t2, $wordcmp # .. e1 (zdb)
- ldq_u t1, 8(a1) # e0 :
- ldq_u t0, 8(a0) # .. e1 :
- addq a1, 8, a1 # e0 :
- addq a0, 8, a0 # .. e1 :
- cmpbge zero, t1, t7 # e0 :
- beq t7, $a_loop # .. e1 (zdb)
- br $eos # e1 :
-
- /* The two strings are not co-aligned. Align s1 and cope. */
-
-$unaligned:
- and a0, 7, t4 # e0 : find s1 misalignment
- and a1, 7, t5 # .. e1 : find s2 misalignment
- subq a1, t4, a1 # e0 :
-
- /* If s2 misalignment is larger than s2 misalignment, we need
- extra startup checks to avoid SEGV. */
-
- cmplt t4, t5, t8 # .. e1 :
- beq t8, $u_head # e1 :
-
- mskqh t3, t5, t3 # e0 :
- ornot t1, t3, t3 # e0 :
- cmpbge zero, t3, t7 # e1 : is there a zero?
- beq t7, $u_head # e1 :
-
- /* We've found a zero in the first partial word of s2. Align
- our current s1 and s2 words and compare what we've got. */
-
- extql t1, t5, t1 # e0 :
- extql t0, a0, t0 # e0 :
- cmpbge zero, t1, t7 # .. e1 : find that zero again
- br $eos # e1 : and finish up
-
- .align 3
-$u_head:
- /* We know just enough now to be able to assemble the first
- full word of s2. We can still find a zero at the end of it.
-
- On entry to this basic block:
- t0 == first word of s1
- t1 == first partial word of s2. */
-
- ldq_u t2, 8(a1) # e0 : load second partial s2 word
- lda t3, -1 # .. e1 : create leading garbage mask
- extql t1, a1, t1 # e0 : create first s2 word
- mskqh t3, a0, t3 # e0 :
- extqh t2, a1, t4 # e0 :
- ornot t0, t3, t0 # .. e1 : kill s1 garbage
- or t1, t4, t1 # e0 : s2 word now complete
- cmpbge zero, t0, t7 # .. e1 : find zero in first s1 word
- ornot t1, t3, t1 # e0 : kill s2 garbage
- lda t3, -1 # .. e1 :
- mskql t3, a1, t3 # e0 : mask for s2[1] bits we have seen
- bne t7, $eos # .. e1 :
- xor t0, t1, t4 # e0 : compare aligned words
- bne t4, $wordcmp # .. e1 (zdb)
- or t2, t3, t3 # e0 :
- cmpbge zero, t3, t7 # e1 :
- bne t7, $u_final # e1 :
-
- /* Unaligned copy main loop. In order to avoid reading too much,
- the loop is structured to detect zeros in aligned words from s2.
- This has, unfortunately, effectively pulled half of a loop
- iteration out into the head and half into the tail, but it does
- prevent nastiness from accumulating in the very thing we want
- to run as fast as possible.
-
- On entry to this basic block:
- t2 == the unshifted low-bits from the next s2 word. */
-
- .align 3
-$u_loop:
- extql t2, a1, t3 # e0 :
- ldq_u t2, 16(a1) # .. e1 : load next s2 high bits
- ldq_u t0, 8(a0) # e0 : load next s1 word
- addq a1, 8, a1 # .. e1 :
- addq a0, 8, a0 # e0 :
- nop # .. e1 :
- extqh t2, a1, t1 # e0 :
- cmpbge zero, t0, t7 # .. e1 : find zero in current s1 word
- or t1, t3, t1 # e0 :
- bne t7, $eos # .. e1 :
- xor t0, t1, t4 # e0 : compare the words
- bne t4, $wordcmp # .. e1 (zdb)
- cmpbge zero, t2, t4 # e0 : find zero in next low bits
- beq t4, $u_loop # .. e1 (zdb)
-
- /* We've found a zero in the low bits of the last s2 word. Get
- the next s1 word and align them. */
-$u_final:
- ldq_u t0, 8(a0) # e1 :
- extql t2, a1, t1 # .. e0 :
- cmpbge zero, t1, t7 # e0 :
-
- /* We've found a zero somewhere in a word we just read.
- On entry to this basic block:
- t0 == s1 word
- t1 == s2 word
- t7 == cmpbge mask containing the zero. */
-
- .align 3
-$eos:
- negq t7, t6 # e0 : create bytemask of valid data
- and t6, t7, t8 # e1 :
- subq t8, 1, t6 # e0 :
- or t6, t8, t7 # e1 :
- zapnot t0, t7, t0 # e0 : kill the garbage
- zapnot t1, t7, t1 # .. e1 :
- xor t0, t1, v0 # e0 : and compare
- beq v0, $done # .. e1 :
-
- /* Here we have two differing co-aligned words in t0 & t1.
- Bytewise compare them and return (t0 > t1 ? 1 : -1). */
-$wordcmp:
- cmpbge t0, t1, t2 # e0 : comparison yields bit mask of ge
- cmpbge t1, t0, t3 # .. e1 :
- xor t2, t3, t0 # e0 : bits set iff t0/t1 bytes differ
- negq t0, t1 # e1 : clear all but least bit
- and t0, t1, t0 # e0 :
- lda v0, -1 # .. e1 :
- and t0, t2, t1 # e0 : was bit set in t0 > t1?
- cmovne t1, 1, v0 # .. e1 (zdb)
-
-$done:
- ret # e1 :
-
- END(strcmp)
-libc_hidden_builtin_def (strcmp)
diff --git a/ports/sysdeps/alpha/strcpy.S b/ports/sysdeps/alpha/strcpy.S
deleted file mode 100644
index ce8d5ad..0000000
--- a/ports/sysdeps/alpha/strcpy.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy a null-terminated string from SRC to DST. Return a pointer
- to the null-terminator in the source. */
-
-#include <sysdep.h>
-
- .text
-
-ENTRY(strcpy)
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- mov a0, v0 # set up return value
- mov ra, t9
- jmp $31, __stxcpy # do the copy
-
- END(strcpy)
-libc_hidden_builtin_def (strcpy)
diff --git a/ports/sysdeps/alpha/strlen.S b/ports/sysdeps/alpha/strlen.S
deleted file mode 100644
index 3e55220..0000000
--- a/ports/sysdeps/alpha/strlen.S
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Finds length of a 0-terminated string. Optimized for the Alpha
- architecture:
-
- - memory accessed as aligned quadwords only
- - uses cmpbge to compare 8 bytes in parallel
- - does binary search to find 0 byte in last quadword (HAKMEM
- needed 12 instructions to do this instead of the 8 instructions
- that the binary search needs).
-*/
-
-#include <sysdep.h>
-
- .set noreorder
- .set noat
-
-ENTRY(strlen)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- ldq_u t0, 0(a0) # load first quadword (a0 may be misaligned)
- lda t1, -1(zero)
- insqh t1, a0, t1
- andnot a0, 7, v0
- or t1, t0, t0
- nop # dual issue the next two on ev5
- cmpbge zero, t0, t1 # t1 <- bitmask: bit i == 1 <==> i-th byte == 0
- bne t1, $found
-
-$loop: ldq t0, 8(v0)
- addq v0, 8, v0 # addr += 8
- cmpbge zero, t0, t1
- beq t1, $loop
-
-$found: negq t1, t2 # clear all but least set bit
- and t1, t2, t1
-
- and t1, 0xf0, t2 # binary search for that set bit
- and t1, 0xcc, t3
- and t1, 0xaa, t4
- cmovne t2, 4, t2
- cmovne t3, 2, t3
- cmovne t4, 1, t4
- addq t2, t3, t2
- addq v0, t4, v0
- addq v0, t2, v0
- nop # dual issue next two on ev4 and ev5
-
- subq v0, a0, v0
- ret
-
- END(strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/ports/sysdeps/alpha/strncat.S b/ports/sysdeps/alpha/strncat.S
deleted file mode 100644
index 28aa49e..0000000
--- a/ports/sysdeps/alpha/strncat.S
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Append no more than COUNT characters from the null-terminated string SRC
- to the null-terminated string DST. Always null-terminate the new DST. */
-
-#include <sysdep.h>
-
- .text
-
-ENTRY(strncat)
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- mov a0, v0 # set up return value
- beq a2, $zerocount
-
- /* Find the end of the string. */
-
- ldq_u t0, 0(a0) # load first quadword (a0 may be misaligned)
- lda t1, -1(zero)
- insqh t1, a0, t1
- andnot a0, 7, a0
- or t1, t0, t0
- cmpbge zero, t0, t1 # t1 <- bitmask: bit i == 1 <==> i-th byte == 0
- bne t1, $found
-
-$loop: ldq t0, 8(a0)
- addq a0, 8, a0 # addr += 8
- cmpbge zero, t0, t1
- beq t1, $loop
-
-$found: negq t1, t2 # clear all but least set bit
- and t1, t2, t1
-
- and t1, 0xf0, t2 # binary search for that set bit
- and t1, 0xcc, t3
- and t1, 0xaa, t4
- cmovne t2, 4, t2
- cmovne t3, 2, t3
- cmovne t4, 1, t4
- addq t2, t3, t2
- addq a0, t4, a0
- addq a0, t2, a0
-
- /* Now do the append. */
-
- jsr t9, __stxncpy
-
- /* Worry about the null termination. */
-
- zapnot t0, t8, t1 # was last byte a null?
- bne t1, 0f
- ret
-
-0: and t10, 0x80, t1
- bne t1, 1f
-
- /* Here there are bytes left in the current word. Clear one. */
- addq t10, t10, t10 # end-of-count bit <<= 1
- zap t0, t10, t0
- stq_u t0, 0(a0)
- ret
-
-1: /* Here we must read the next DST word and clear the first byte. */
- ldq_u t0, 8(a0)
- zap t0, 1, t0
- stq_u t0, 8(a0)
-
-$zerocount:
- ret
-
- END(strncat)
diff --git a/ports/sysdeps/alpha/strncmp.S b/ports/sysdeps/alpha/strncmp.S
deleted file mode 100644
index 10a8f5c..0000000
--- a/ports/sysdeps/alpha/strncmp.S
+++ /dev/null
@@ -1,277 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Bytewise compare two null-terminated strings of length no longer than N. */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
-/* EV6 only predicts one branch per octaword. We'll use these to push
- subsequent branches back to the next bundle. This will generally add
- a fetch+decode cycle to older machines, so skip in that case. */
-#ifdef __alpha_fix__
-# define ev6_unop unop
-#else
-# define ev6_unop
-#endif
-
- .text
-
-ENTRY(strncmp)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- xor a0, a1, t2 # are s1 and s2 co-aligned?
- beq a2, $zerolength
- ldq_u t0, 0(a0) # load asap to give cache time to catch up
- ldq_u t1, 0(a1)
- lda t3, -1
- and t2, 7, t2
- srl t3, 1, t6
- and a0, 7, t4 # find s1 misalignment
- and a1, 7, t5 # find s2 misalignment
- cmovlt a2, t6, a2 # bound neg count to LONG_MAX
- addq a1, a2, a3 # s2+count
- addq a2, t4, a2 # bias count by s1 misalignment
- and a2, 7, t10 # ofs of last byte in s1 last word
- srl a2, 3, a2 # remaining full words in s1 count
- bne t2, $unaligned
-
- /* On entry to this basic block:
- t0 == the first word of s1.
- t1 == the first word of s2.
- t3 == -1. */
-$aligned:
- mskqh t3, a1, t8 # mask off leading garbage
- ornot t1, t8, t1
- ornot t0, t8, t0
- cmpbge zero, t1, t7 # bits set iff null found
- beq a2, $eoc # check end of count
- bne t7, $eos
- beq t10, $ant_loop
-
- /* Aligned compare main loop.
- On entry to this basic block:
- t0 == an s1 word.
- t1 == an s2 word not containing a null. */
-
- .align 4
-$a_loop:
- xor t0, t1, t2 # e0 :
- bne t2, $wordcmp # .. e1 (zdb)
- ldq_u t1, 8(a1) # e0 :
- ldq_u t0, 8(a0) # .. e1 :
-
- subq a2, 1, a2 # e0 :
- addq a1, 8, a1 # .. e1 :
- addq a0, 8, a0 # e0 :
- beq a2, $eoc # .. e1 :
-
- cmpbge zero, t1, t7 # e0 :
- beq t7, $a_loop # .. e1 :
-
- br $eos
-
- /* Alternate aligned compare loop, for when there's no trailing
- bytes on the count. We have to avoid reading too much data. */
- .align 4
-$ant_loop:
- xor t0, t1, t2 # e0 :
- ev6_unop
- ev6_unop
- bne t2, $wordcmp # .. e1 (zdb)
-
- subq a2, 1, a2 # e0 :
- beq a2, $zerolength # .. e1 :
- ldq_u t1, 8(a1) # e0 :
- ldq_u t0, 8(a0) # .. e1 :
-
- addq a1, 8, a1 # e0 :
- addq a0, 8, a0 # .. e1 :
- cmpbge zero, t1, t7 # e0 :
- beq t7, $ant_loop # .. e1 :
-
- br $eos
-
- /* The two strings are not co-aligned. Align s1 and cope. */
- /* On entry to this basic block:
- t0 == the first word of s1.
- t1 == the first word of s2.
- t3 == -1.
- t4 == misalignment of s1.
- t5 == misalignment of s2.
- t10 == misalignment of s1 end. */
- .align 4
-$unaligned:
- /* If s1 misalignment is larger than s2 misalignment, we need
- extra startup checks to avoid SEGV. */
- subq a1, t4, a1 # adjust s2 for s1 misalignment
- cmpult t4, t5, t9
- subq a3, 1, a3 # last byte of s2
- bic a1, 7, t8
- mskqh t3, t5, t7 # mask garbage in s2
- subq a3, t8, a3
- ornot t1, t7, t7
- srl a3, 3, a3 # remaining full words in s2 count
- beq t9, $u_head
-
- /* Failing that, we need to look for both eos and eoc within the
- first word of s2. If we find either, we can continue by
- pretending that the next word of s2 is all zeros. */
- lda t2, 0 # next = zero
- cmpeq a3, 0, t8 # eoc in the first word of s2?
- cmpbge zero, t7, t7 # eos in the first word of s2?
- or t7, t8, t8
- bne t8, $u_head_nl
-
- /* We know just enough now to be able to assemble the first
- full word of s2. We can still find a zero at the end of it.
-
- On entry to this basic block:
- t0 == first word of s1
- t1 == first partial word of s2.
- t3 == -1.
- t10 == ofs of last byte in s1 last word.
- t11 == ofs of last byte in s2 last word. */
-$u_head:
- ldq_u t2, 8(a1) # load second partial s2 word
- subq a3, 1, a3
-$u_head_nl:
- extql t1, a1, t1 # create first s2 word
- mskqh t3, a0, t8
- extqh t2, a1, t4
- ornot t0, t8, t0 # kill s1 garbage
- or t1, t4, t1 # s2 word now complete
- cmpbge zero, t0, t7 # find eos in first s1 word
- ornot t1, t8, t1 # kill s2 garbage
- beq a2, $eoc
- subq a2, 1, a2
- bne t7, $eos
- mskql t3, a1, t8 # mask out s2[1] bits we have seen
- xor t0, t1, t4 # compare aligned words
- or t2, t8, t8
- bne t4, $wordcmp
- cmpbge zero, t8, t7 # eos in high bits of s2[1]?
- cmpeq a3, 0, t8 # eoc in s2[1]?
- or t7, t8, t7
- bne t7, $u_final
-
- /* Unaligned copy main loop. In order to avoid reading too much,
- the loop is structured to detect zeros in aligned words from s2.
- This has, unfortunately, effectively pulled half of a loop
- iteration out into the head and half into the tail, but it does
- prevent nastiness from accumulating in the very thing we want
- to run as fast as possible.
-
- On entry to this basic block:
- t2 == the unshifted low-bits from the next s2 word.
- t10 == ofs of last byte in s1 last word.
- t11 == ofs of last byte in s2 last word. */
- .align 4
-$u_loop:
- extql t2, a1, t3 # e0 :
- ldq_u t2, 16(a1) # .. e1 : load next s2 high bits
- ldq_u t0, 8(a0) # e0 : load next s1 word
- addq a1, 8, a1 # .. e1 :
-
- addq a0, 8, a0 # e0 :
- subq a3, 1, a3 # .. e1 :
- extqh t2, a1, t1 # e0 :
- cmpbge zero, t0, t7 # .. e1 : eos in current s1 word
-
- or t1, t3, t1 # e0 :
- beq a2, $eoc # .. e1 : eoc in current s1 word
- subq a2, 1, a2 # e0 :
- cmpbge zero, t2, t4 # .. e1 : eos in s2[1]
-
- xor t0, t1, t3 # e0 : compare the words
- ev6_unop
- ev6_unop
- bne t7, $eos # .. e1 :
-
- cmpeq a3, 0, t5 # e0 : eoc in s2[1]
- ev6_unop
- ev6_unop
- bne t3, $wordcmp # .. e1 :
-
- or t4, t5, t4 # e0 : eos or eoc in s2[1].
- beq t4, $u_loop # .. e1 (zdb)
-
- /* We've found a zero in the low bits of the last s2 word. Get
- the next s1 word and align them. */
- .align 3
-$u_final:
- ldq_u t0, 8(a0)
- extql t2, a1, t1
- cmpbge zero, t1, t7
- bne a2, $eos
-
- /* We've hit end of count. Zero everything after the count
- and compare whats left. */
- .align 3
-$eoc:
- mskql t0, t10, t0
- mskql t1, t10, t1
- cmpbge zero, t1, t7
-
- /* We've found a zero somewhere in a word we just read.
- On entry to this basic block:
- t0 == s1 word
- t1 == s2 word
- t7 == cmpbge mask containing the zero. */
- .align 3
-$eos:
- negq t7, t6 # create bytemask of valid data
- and t6, t7, t8
- subq t8, 1, t6
- or t6, t8, t7
- zapnot t0, t7, t0 # kill the garbage
- zapnot t1, t7, t1
- xor t0, t1, v0 # ... and compare
- beq v0, $done
-
- /* Here we have two differing co-aligned words in t0 & t1.
- Bytewise compare them and return (t0 > t1 ? 1 : -1). */
- .align 3
-$wordcmp:
- cmpbge t0, t1, t2 # comparison yields bit mask of ge
- cmpbge t1, t0, t3
- xor t2, t3, t0 # bits set iff t0/t1 bytes differ
- negq t0, t1 # clear all but least bit
- and t0, t1, t0
- lda v0, -1
- and t0, t2, t1 # was bit set in t0 > t1?
- cmovne t1, 1, v0
-$done:
- ret
-
- .align 3
-$zerolength:
- clr v0
- ret
-
- END(strncmp)
-libc_hidden_builtin_def (strncmp)
diff --git a/ports/sysdeps/alpha/strncpy.S b/ports/sysdeps/alpha/strncpy.S
deleted file mode 100644
index db864d8..0000000
--- a/ports/sysdeps/alpha/strncpy.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
- SRC to DST. If SRC does not cover all of COUNT, the balance is
- zeroed. */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
-
-ENTRY(strncpy)
- ldgp gp, 0(pv)
-#ifdef PROF
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
- .prologue 1
-
- mov a0, v0 # set return value now
- beq a2, $zerocount
- jsr t9, __stxncpy # do the work of the copy
-
- bne a2, $multiword # do we have full words left?
-
- .align 3
- subq t8, 1, t2 # e0 : guess not
- subq t10, 1, t3 # .. e1 :
- or t2, t8, t2 # e0 : clear the bits between the last
- or t3, t10, t3 # .. e1 : written byte and the last byte in
- andnot t3, t2, t3 # e0 : COUNT
- zap t0, t3, t0 # e1 :
- stq_u t0, 0(a0) # e0 :
- ret # .. e1 :
-
-$multiword:
- subq t8, 1, t7 # e0 : clear the final bits in the prev
- or t7, t8, t7 # e1 : word
- zapnot t0, t7, t0 # e0 :
- subq a2, 1, a2 # .. e1 :
- stq_u t0, 0(a0) # e0 :
- addq a0, 8, a0 # .. e1 :
-
- beq a2, 1f # e1 :
- blbc a2, 0f # e1 :
-
- stq_u zero, 0(a0) # e0 : zero one word
- subq a2, 1, a2 # .. e1 :
- addq a0, 8, a0 # e0 :
- beq a2, 1f # .. e1 :
-
-0: stq_u zero, 0(a0) # e0 : zero two words
- subq a2, 2, a2 # .. e1 :
- stq_u zero, 8(a0) # e0 :
- addq a0, 16, a0 # .. e1 :
- bne a2, 0b # e1 :
- unop
-
-1: ldq_u t0, 0(a0) # e0 : clear the leading bits in the final
- subq t10, 1, t7 # .. e1 : word
- or t7, t10, t7 # e0 :
- zap t0, t7, t0 # e1 (stall)
- stq_u t0, 0(a0) # e0 :
-
-$zerocount:
- ret # .. e1 :
-
- END(strncpy)
-libc_hidden_builtin_def (strncpy)
diff --git a/ports/sysdeps/alpha/strrchr.S b/ports/sysdeps/alpha/strrchr.S
deleted file mode 100644
index e85f0cf..0000000
--- a/ports/sysdeps/alpha/strrchr.S
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Return the address of the last occurrence of a given character
- within a null-terminated string, or null if it is not found.
-
- This is generally scheduled for the EV5 (got to look out for my own
- interests :-), but with EV4 needs in mind. There are, in fact, fewer
- stalls on the EV4 than there are on the EV5.
-*/
-
-#include <sysdep.h>
-
- .set noreorder
- .set noat
-
-ENTRY(strrchr)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
- and a1, 0xff, a1 # e0 : zero extend our test character
- mov zero, t6 # .. e1 : t6 is last match aligned addr
- sll a1, 8, t5 # e0 : replicate our test character
- mov zero, t7 # .. e1 : t7 is last match byte compare mask
- or t5, a1, a1 # e0 :
- ldq_u t0, 0(a0) # .. e1 : load first quadword
- sll a1, 16, t5 # e0 :
- andnot a0, 7, v0 # .. e1 : align source addr
- or t5, a1, a1 # e0 :
- lda t4, -1 # .. e1 : build garbage mask
- sll a1, 32, t5 # e0 :
- cmpbge zero, t0, t1 # .. e1 : bits set iff byte == zero
- mskqh t4, a0, t4 # e0 :
- or t5, a1, a1 # .. e1 : character replication complete
- xor t0, a1, t2 # e0 : make bytes == c zero
- cmpbge zero, t4, t4 # .. e1 : bits set iff byte is garbage
- cmpbge zero, t2, t3 # e0 : bits set iff byte == c
- andnot t1, t4, t1 # .. e1 : clear garbage from null test
- andnot t3, t4, t3 # e0 : clear garbage from char test
- bne t1, $eos # .. e1 : did we already hit the terminator?
-
- /* Character search main loop */
-$loop:
- ldq t0, 8(v0) # e0 : load next quadword
- cmovne t3, v0, t6 # .. e1 : save previous comparisons match
- cmovne t3, t3, t7 # e0 :
- addq v0, 8, v0 # .. e1 :
- xor t0, a1, t2 # e0 :
- cmpbge zero, t0, t1 # .. e1 : bits set iff byte == zero
- cmpbge zero, t2, t3 # e0 : bits set iff byte == c
- beq t1, $loop # .. e1 : if we havnt seen a null, loop
-
- /* Mask out character matches after terminator */
-$eos:
- negq t1, t4 # e0 : isolate first null byte match
- and t1, t4, t4 # e1 :
- subq t4, 1, t5 # e0 : build a mask of the bytes upto...
- or t4, t5, t4 # e1 : ... and including the null
-
- and t3, t4, t3 # e0 : mask out char matches after null
- cmovne t3, t3, t7 # .. e1 : save it, if match found
- cmovne t3, v0, t6 # e0 :
-
- /* Locate the address of the last matched character */
-
- /* Retain the early exit for the ev4 -- the ev5 mispredict penalty
- is 5 cycles -- the same as just falling through. */
- beq t7, $retnull # .. e1 :
-
- and t7, 0xf0, t2 # e0 : binary search for the high bit set
- cmovne t2, t2, t7 # .. e1 (zdb)
- cmovne t2, 4, t2 # e0 :
- and t7, 0xcc, t1 # .. e1 :
- cmovne t1, t1, t7 # e0 :
- cmovne t1, 2, t1 # .. e1 :
- and t7, 0xaa, t0 # e0 :
- cmovne t0, 1, t0 # .. e1 (zdb)
- addq t2, t1, t1 # e0 :
- addq t6, t0, v0 # .. e1 : add our aligned base ptr to the mix
- addq v0, t1, v0 # e0 :
- ret # .. e1 :
-
-$retnull:
- mov zero, v0 # e0 :
- ret # .. e1 :
-
- END(strrchr)
-
-weak_alias (strrchr, rindex)
-libc_hidden_builtin_def (strrchr)
diff --git a/ports/sysdeps/alpha/stxcpy.S b/ports/sysdeps/alpha/stxcpy.S
deleted file mode 100644
index 3296174..0000000
--- a/ports/sysdeps/alpha/stxcpy.S
+++ /dev/null
@@ -1,294 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy a null-terminated string from SRC to DST.
-
- This is an internal routine used by strcpy, stpcpy, and strcat.
- As such, it uses special linkage conventions to make implementation
- of these public functions more efficient.
-
- On input:
- t9 = return address
- a0 = DST
- a1 = SRC
-
- On output:
- t8 = bitmask (with one bit set) indicating the last byte written
- a0 = unaligned address of the last *word* written
-
- Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-/* This is generally scheduled for the EV5, but should still be pretty
- good for the EV4 too. */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
- .type __stxcpy, @function
- .globl __stxcpy
- .usepv __stxcpy, no
-
- cfi_startproc
- cfi_return_column (t9)
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == the first source word. */
- .align 3
-stxcpy_aligned:
- /* Create the 1st output word and detect 0's in the 1st input word. */
- lda t2, -1 # e1 : build a mask against false zero
- mskqh t2, a1, t2 # e0 : detection in the src word
- mskqh t1, a1, t3 # e0 :
- ornot t1, t2, t2 # .. e1 :
- mskql t0, a1, t0 # e0 : assemble the first output word
- cmpbge zero, t2, t7 # .. e1 : bits set iff null found
- or t0, t3, t1 # e0 :
- bne t7, $a_eos # .. e1 :
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == a source word not containing a null. */
-$a_loop:
- stq_u t1, 0(a0) # e0 :
- addq a0, 8, a0 # .. e1 :
- ldq_u t1, 0(a1) # e0 :
- addq a1, 8, a1 # .. e1 :
- cmpbge zero, t1, t7 # e0 (stall)
- beq t7, $a_loop # .. e1 (zdb)
-
- /* Take care of the final (partial) word store.
- On entry to this basic block we have:
- t1 == the source word containing the null
- t7 == the cmpbge mask that found it. */
-$a_eos:
- negq t7, t6 # e0 : find low bit set
- and t7, t6, t8 # e1 (stall)
-
- /* For the sake of the cache, don't read a destination word
- if we're not going to need it. */
- and t8, 0x80, t6 # e0 :
- bne t6, 1f # .. e1 (zdb)
-
- /* We're doing a partial word store and so need to combine
- our source and original destination words. */
- ldq_u t0, 0(a0) # e0 :
- subq t8, 1, t6 # .. e1 :
- zapnot t1, t6, t1 # e0 : clear src bytes >= null
- or t8, t6, t7 # .. e1 :
- zap t0, t7, t0 # e0 : clear dst bytes <= null
- or t0, t1, t1 # e1 :
-
-1: stq_u t1, 0(a0) # e0 :
- ret (t9) # .. e1 :
-
- .align 3
-__stxcpy:
- /* Are source and destination co-aligned? */
- xor a0, a1, t0 # e0 :
- unop # :
- and t0, 7, t0 # e0 :
- bne t0, $unaligned # .. e1 :
-
- /* We are co-aligned; take care of a partial first word. */
- ldq_u t1, 0(a1) # e0 : load first src word
- and a0, 7, t0 # .. e1 : take care not to load a word ...
- addq a1, 8, a1 # e0 :
- beq t0, stxcpy_aligned # .. e1 : ... if we wont need it
- ldq_u t0, 0(a0) # e0 :
- br stxcpy_aligned # .. e1 :
-
-
-/* The source and destination are not co-aligned. Align the destination
- and cope. We have to be very careful about not reading too much and
- causing a SEGV. */
-
- .align 3
-$u_head:
- /* We know just enough now to be able to assemble the first
- full source word. We can still find a zero at the end of it
- that prevents us from outputting the whole thing.
-
- On entry to this basic block:
- t0 == the first dest word, for masking back in, if needed else 0
- t1 == the low bits of the first source word
- t6 == bytemask that is -1 in dest word bytes */
-
- ldq_u t2, 8(a1) # e0 :
- addq a1, 8, a1 # .. e1 :
-
- extql t1, a1, t1 # e0 :
- extqh t2, a1, t4 # e0 :
- mskql t0, a0, t0 # e0 :
- or t1, t4, t1 # .. e1 :
- mskqh t1, a0, t1 # e0 :
- or t0, t1, t1 # e1 :
-
- or t1, t6, t6 # e0 :
- cmpbge zero, t6, t7 # .. e1 :
- lda t6, -1 # e0 : for masking just below
- bne t7, $u_final # .. e1 :
-
- mskql t6, a1, t6 # e0 : mask out the bits we have
- or t6, t2, t2 # e1 : already extracted before
- cmpbge zero, t2, t7 # e0 : testing eos
- bne t7, $u_late_head_exit # .. e1 (zdb)
-
- /* Finally, we've got all the stupid leading edge cases taken care
- of and we can set up to enter the main loop. */
-
- stq_u t1, 0(a0) # e0 : store first output word
- addq a0, 8, a0 # .. e1 :
- extql t2, a1, t0 # e0 : position ho-bits of lo word
- ldq_u t2, 8(a1) # .. e1 : read next high-order source word
- addq a1, 8, a1 # e0 :
- cmpbge zero, t2, t7 # .. e1 :
- nop # e0 :
- bne t7, $u_eos # .. e1 :
-
- /* Unaligned copy main loop. In order to avoid reading too much,
- the loop is structured to detect zeros in aligned source words.
- This has, unfortunately, effectively pulled half of a loop
- iteration out into the head and half into the tail, but it does
- prevent nastiness from accumulating in the very thing we want
- to run as fast as possible.
-
- On entry to this basic block:
- t0 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word
-
- We further know that t2 does not contain a null terminator. */
-
- .align 3
-$u_loop:
- extqh t2, a1, t1 # e0 : extract high bits for current word
- addq a1, 8, a1 # .. e1 :
- extql t2, a1, t3 # e0 : extract low bits for next time
- addq a0, 8, a0 # .. e1 :
- or t0, t1, t1 # e0 : current dst word now complete
- ldq_u t2, 0(a1) # .. e1 : load high word for next time
- stq_u t1, -8(a0) # e0 : save the current word
- mov t3, t0 # .. e1 :
- cmpbge zero, t2, t7 # e0 : test new word for eos
- beq t7, $u_loop # .. e1 :
-
- /* We've found a zero somewhere in the source word we just read.
- If it resides in the lower half, we have one (probably partial)
- word to write out, and if it resides in the upper half, we
- have one full and one partial word left to write out.
-
- On entry to this basic block:
- t0 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word. */
-$u_eos:
- extqh t2, a1, t1 # e0 :
- or t0, t1, t1 # e1 : first (partial) source word complete
-
- cmpbge zero, t1, t7 # e0 : is the null in this first bit?
- bne t7, $u_final # .. e1 (zdb)
-
-$u_late_head_exit:
- stq_u t1, 0(a0) # e0 : the null was in the high-order bits
- addq a0, 8, a0 # .. e1 :
- extql t2, a1, t1 # e0 :
- cmpbge zero, t1, t7 # .. e1 :
-
- /* Take care of a final (probably partial) result word.
- On entry to this basic block:
- t1 == assembled source word
- t7 == cmpbge mask that found the null. */
-$u_final:
- negq t7, t6 # e0 : isolate low bit set
- and t6, t7, t8 # e1 :
-
- and t8, 0x80, t6 # e0 : avoid dest word load if we can
- bne t6, 1f # .. e1 (zdb)
-
- ldq_u t0, 0(a0) # e0 :
- subq t8, 1, t6 # .. e1 :
- or t6, t8, t7 # e0 :
- zapnot t1, t6, t1 # .. e1 : kill source bytes >= null
- zap t0, t7, t0 # e0 : kill dest bytes <= null
- or t0, t1, t1 # e1 :
-
-1: stq_u t1, 0(a0) # e0 :
- ret (t9) # .. e1 :
-
- /* Unaligned copy entry point. */
- .align 3
-$unaligned:
-
- ldq_u t1, 0(a1) # e0 : load first source word
-
- and a0, 7, t4 # .. e1 : find dest misalignment
- and a1, 7, t5 # e0 : find src misalignment
-
- /* Conditionally load the first destination word and a bytemask
- with 0xff indicating that the destination byte is sacrosanct. */
-
- mov zero, t0 # .. e1 :
- mov zero, t6 # e0 :
- beq t4, 1f # .. e1 :
- ldq_u t0, 0(a0) # e0 :
- lda t6, -1 # .. e1 :
- mskql t6, a0, t6 # e0 :
-1:
- subq a1, t4, a1 # .. e1 : sub dest misalignment from src addr
-
- /* If source misalignment is larger than dest misalignment, we need
- extra startup checks to avoid SEGV. */
-
- cmplt t4, t5, t8 # e0 :
- beq t8, $u_head # .. e1 (zdb)
-
- lda t2, -1 # e1 : mask out leading garbage in source
- mskqh t2, t5, t2 # e0 :
- nop # e0 :
- ornot t1, t2, t3 # .. e1 :
- cmpbge zero, t3, t7 # e0 : is there a zero?
- beq t7, $u_head # .. e1 (zdb)
-
- /* At this point we've found a zero in the first partial word of
- the source. We need to isolate the valid source data and mask
- it into the original destination data. (Incidentally, we know
- that we'll need at least one byte of that original dest word.) */
-
- ldq_u t0, 0(a0) # e0 :
-
- negq t7, t6 # .. e1 : build bitmask of bytes <= zero
- and t6, t7, t8 # e0 :
- and a1, 7, t5 # .. e1 :
- subq t8, 1, t6 # e0 :
- or t6, t8, t7 # e1 :
- srl t8, t5, t8 # e0 : adjust final null return value
-
- zapnot t2, t7, t2 # .. e1 : prepare source word; mirror changes
- and t1, t2, t1 # e1 : to source validity mask
- extql t2, a1, t2 # .. e0 :
- extql t1, a1, t1 # e0 :
-
- andnot t0, t2, t0 # .. e1 : zero place for source to reside
- or t0, t1, t1 # e1 : and put it there
- stq_u t1, 0(a0) # .. e0 :
- ret (t9)
-
- cfi_endproc
diff --git a/ports/sysdeps/alpha/stxncpy.S b/ports/sysdeps/alpha/stxncpy.S
deleted file mode 100644
index a12f31e..0000000
--- a/ports/sysdeps/alpha/stxncpy.S
+++ /dev/null
@@ -1,352 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- Contributed by Richard Henderson (rth@tamu.edu)
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Copy no more than COUNT bytes of the null-terminated string from
- SRC to DST.
-
- This is an internal routine used by strncpy, stpncpy, and strncat.
- As such, it uses special linkage conventions to make implementation
- of these public functions more efficient.
-
- On input:
- t9 = return address
- a0 = DST
- a1 = SRC
- a2 = COUNT
-
- Furthermore, COUNT may not be zero.
-
- On output:
- t0 = last word written
- t8 = bitmask (with one bit set) indicating the last byte written
- t10 = bitmask (with one bit set) indicating the byte position of
- the end of the range specified by COUNT
- a0 = unaligned address of the last *word* written
- a2 = the number of full words left in COUNT
-
- Furthermore, v0, a3-a5, t11, and t12 are untouched.
-*/
-
-
-/* This is generally scheduled for the EV5, but should still be pretty
- good for the EV4 too. */
-
-#include <sysdep.h>
-
- .set noat
- .set noreorder
-
- .text
- .type __stxncpy, @function
- .globl __stxncpy
- .usepv __stxncpy, no
-
- cfi_startproc
- cfi_return_column (t9)
-
- /* On entry to this basic block:
- t0 == the first destination word for masking back in
- t1 == the first source word. */
- .align 3
-stxncpy_aligned:
- /* Create the 1st output word and detect 0's in the 1st input word. */
- lda t2, -1 # e1 : build a mask against false zero
- mskqh t2, a1, t2 # e0 : detection in the src word
- mskqh t1, a1, t3 # e0 :
- ornot t1, t2, t2 # .. e1 :
- mskql t0, a1, t0 # e0 : assemble the first output word
- cmpbge zero, t2, t7 # .. e1 : bits set iff null found
- or t0, t3, t0 # e0 :
- beq a2, $a_eoc # .. e1 :
- bne t7, $a_eos # .. e1 :
-
- /* On entry to this basic block:
- t0 == a source word not containing a null. */
-$a_loop:
- stq_u t0, 0(a0) # e0 :
- addq a0, 8, a0 # .. e1 :
- ldq_u t0, 0(a1) # e0 :
- addq a1, 8, a1 # .. e1 :
- subq a2, 1, a2 # e0 :
- cmpbge zero, t0, t7 # .. e1 (stall)
- beq a2, $a_eoc # e1 :
- beq t7, $a_loop # e1 :
-
- /* Take care of the final (partial) word store. At this point
- the end-of-count bit is set in t7 iff it applies.
-
- On entry to this basic block we have:
- t0 == the source word containing the null
- t7 == the cmpbge mask that found it. */
-$a_eos:
- negq t7, t8 # e0 : find low bit set
- and t7, t8, t8 # e1 (stall)
-
- /* For the sake of the cache, don't read a destination word
- if we're not going to need it. */
- and t8, 0x80, t6 # e0 :
- bne t6, 1f # .. e1 (zdb)
-
- /* We're doing a partial word store and so need to combine
- our source and original destination words. */
- ldq_u t1, 0(a0) # e0 :
- subq t8, 1, t6 # .. e1 :
- or t8, t6, t7 # e0 :
- unop #
- zapnot t0, t7, t0 # e0 : clear src bytes > null
- zap t1, t7, t1 # .. e1 : clear dst bytes <= null
- or t0, t1, t0 # e1 :
-
-1: stq_u t0, 0(a0) # e0 :
- ret (t9) # e1 :
-
- /* Add the end-of-count bit to the eos detection bitmask. */
-$a_eoc:
- or t10, t7, t7
- br $a_eos
-
- .align 3
-__stxncpy:
- /* Are source and destination co-aligned? */
- lda t2, -1
- xor a0, a1, t1
- srl t2, 1, t2
- and a0, 7, t0 # find dest misalignment
- cmovlt a2, t2, a2 # bound neg count to LONG_MAX
- and t1, 7, t1
- addq a2, t0, a2 # bias count by dest misalignment
- subq a2, 1, a2
- and a2, 7, t2
- srl a2, 3, a2 # a2 = loop counter = (count - 1)/8
- addq zero, 1, t10
- sll t10, t2, t10 # t10 = bitmask of last count byte
- bne t1, $unaligned
-
- /* We are co-aligned; take care of a partial first word. */
-
- ldq_u t1, 0(a1) # e0 : load first src word
- addq a1, 8, a1 # .. e1 :
-
- beq t0, stxncpy_aligned # avoid loading dest word if not needed
- ldq_u t0, 0(a0) # e0 :
- br stxncpy_aligned # .. e1 :
-
-
-/* The source and destination are not co-aligned. Align the destination
- and cope. We have to be very careful about not reading too much and
- causing a SEGV. */
-
- .align 3
-$u_head:
- /* We know just enough now to be able to assemble the first
- full source word. We can still find a zero at the end of it
- that prevents us from outputting the whole thing.
-
- On entry to this basic block:
- t0 == the first dest word, unmasked
- t1 == the shifted low bits of the first source word
- t6 == bytemask that is -1 in dest word bytes */
-
- ldq_u t2, 8(a1) # e0 : load second src word
- addq a1, 8, a1 # .. e1 :
- mskql t0, a0, t0 # e0 : mask trailing garbage in dst
- extqh t2, a1, t4 # e0 :
- or t1, t4, t1 # e1 : first aligned src word complete
- mskqh t1, a0, t1 # e0 : mask leading garbage in src
- or t0, t1, t0 # e0 : first output word complete
- or t0, t6, t6 # e1 : mask original data for zero test
- cmpbge zero, t6, t7 # e0 :
- beq a2, $u_eocfin # .. e1 :
- lda t6, -1 # e0 :
- bne t7, $u_final # .. e1 :
-
- mskql t6, a1, t6 # e0 : mask out bits already seen
- nop # .. e1 :
- stq_u t0, 0(a0) # e0 : store first output word
- or t6, t2, t2 # .. e1 :
- cmpbge zero, t2, t7 # e0 : find nulls in second partial
- addq a0, 8, a0 # .. e1 :
- subq a2, 1, a2 # e0 :
- bne t7, $u_late_head_exit # .. e1 :
-
- /* Finally, we've got all the stupid leading edge cases taken care
- of and we can set up to enter the main loop. */
-
- extql t2, a1, t1 # e0 : position hi-bits of lo word
- beq a2, $u_eoc # .. e1 :
- ldq_u t2, 8(a1) # e0 : read next high-order source word
- addq a1, 8, a1 # .. e1 :
- extqh t2, a1, t0 # e0 : position lo-bits of hi word
- cmpbge zero, t2, t7 # .. e1 : test new word for eos
- nop # e0 :
- bne t7, $u_eos # .. e1 :
-
- /* Unaligned copy main loop. In order to avoid reading too much,
- the loop is structured to detect zeros in aligned source words.
- This has, unfortunately, effectively pulled half of a loop
- iteration out into the head and half into the tail, but it does
- prevent nastiness from accumulating in the very thing we want
- to run as fast as possible.
-
- On entry to this basic block:
- t0 == the shifted low-order bits from the current source word
- t1 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word
-
- We further know that t2 does not contain a null terminator. */
-
- .align 3
-$u_loop:
- or t0, t1, t0 # e0 : current dst word now complete
- subq a2, 1, a2 # .. e1 : decrement word count
- stq_u t0, 0(a0) # e0 : save the current word
- addq a0, 8, a0 # .. e1 :
- extql t2, a1, t1 # e0 : extract high bits for next time
- beq a2, $u_eoc # .. e1 :
- ldq_u t2, 8(a1) # e0 : load high word for next time
- addq a1, 8, a1 # .. e1 :
- nop # e0 :
- cmpbge zero, t2, t7 # .. e1 : test new word for eos
- extqh t2, a1, t0 # e0 : extract low bits for current word
- beq t7, $u_loop # .. e1 :
-
- /* We've found a zero somewhere in the source word we just read.
- If it resides in the lower half, we have one (probably partial)
- word to write out, and if it resides in the upper half, we
- have one full and one partial word left to write out.
-
- On entry to this basic block:
- t0 == the shifted low-order bits from the current source word
- t1 == the shifted high-order bits from the previous source word
- t2 == the unshifted current source word. */
-$u_eos:
- or t0, t1, t0 # e0 : first (partial) source word complete
- cmpbge zero, t0, t7 # e0 : is the null in this first bit?
- bne t7, $u_final # .. e1 (zdb)
-
- stq_u t0, 0(a0) # e0 : the null was in the high-order bits
- addq a0, 8, a0 # .. e1 :
- subq a2, 1, a2 # e0 :
-
-$u_late_head_exit:
- extql t2, a1, t0 # e0 :
- cmpbge zero, t0, t7 # e0 :
- or t7, t10, t6 # e1 :
- cmoveq a2, t6, t7 # e0 :
-
- /* Take care of a final (probably partial) result word.
- On entry to this basic block:
- t0 == assembled source word
- t7 == cmpbge mask that found the null. */
-$u_final:
- negq t7, t6 # e0 : isolate low bit set
- and t6, t7, t8 # e1 :
-
- and t8, 0x80, t6 # e0 : avoid dest word load if we can
- bne t6, 1f # .. e1 (zdb)
-
- ldq_u t1, 0(a0) # e0 :
- subq t8, 1, t6 # .. e1 :
- or t6, t8, t7 # e0 :
- zapnot t0, t7, t0 # .. e1 : kill source bytes > null
- zap t1, t7, t1 # e0 : kill dest bytes <= null
- or t0, t1, t0 # e1 :
-
-1: stq_u t0, 0(a0) # e0 :
- ret (t9) # .. e1 :
-
- /* Got to end-of-count before end of string.
- On entry to this basic block:
- t1 == the shifted high-order bits from the previous source word */
-$u_eoc:
- and a1, 7, t6 # e1 :
- sll t10, t6, t6 # e0 :
- and t6, 0xff, t6 # e0 :
- bne t6, 1f # e1 : avoid src word load if we can
-
- ldq_u t2, 8(a1) # e0 : load final src word
- nop # .. e1 :
- extqh t2, a1, t0 # e0 : extract high bits for last word
- or t1, t0, t1 # e1 :
-
-1: cmpbge zero, t1, t7
- mov t1, t0
-
-$u_eocfin: # end-of-count, final word
- or t10, t7, t7
- br $u_final
-
- /* Unaligned copy entry point. */
- .align 3
-$unaligned:
-
- ldq_u t1, 0(a1) # e0 : load first source word
-
- and a0, 7, t4 # .. e1 : find dest misalignment
- and a1, 7, t5 # e0 : find src misalignment
-
- /* Conditionally load the first destination word and a bytemask
- with 0xff indicating that the destination byte is sacrosanct. */
-
- mov zero, t0 # .. e1 :
- mov zero, t6 # e0 :
- beq t4, 1f # .. e1 :
- ldq_u t0, 0(a0) # e0 :
- lda t6, -1 # .. e1 :
- mskql t6, a0, t6 # e0 :
-1:
- subq a1, t4, a1 # .. e1 : sub dest misalignment from src addr
-
- /* If source misalignment is larger than dest misalignment, we need
- extra startup checks to avoid SEGV. */
-
- cmplt t4, t5, t8 # e1 :
- extql t1, a1, t1 # .. e0 : shift src into place
- lda t2, -1 # e0 : for creating masks later
- beq t8, $u_head # e1 :
-
- mskqh t2, t5, t2 # e0 : begin src byte validity mask
- cmpbge zero, t1, t7 # .. e1 : is there a zero?
- extql t2, a1, t2 # e0 :
- or t7, t10, t5 # .. e1 : test for end-of-count too
- cmpbge zero, t2, t3 # e0 :
- cmoveq a2, t5, t7 # .. e1 :
- andnot t7, t3, t7 # e0 :
- beq t7, $u_head # .. e1 (zdb)
-
- /* At this point we've found a zero in the first partial word of
- the source. We need to isolate the valid source data and mask
- it into the original destination data. (Incidentally, we know
- that we'll need at least one byte of that original dest word.) */
-
- ldq_u t0, 0(a0) # e0 :
- negq t7, t6 # .. e1 : build bitmask of bytes <= zero
- mskqh t1, t4, t1 # e0 :
- and t6, t7, t8 # .. e1 :
- subq t8, 1, t6 # e0 :
- or t6, t8, t7 # e1 :
-
- zapnot t2, t7, t2 # e0 : prepare source word; mirror changes
- zapnot t1, t7, t1 # .. e1 : to source validity mask
-
- andnot t0, t2, t0 # e0 : zero place for source to reside
- or t0, t1, t0 # e1 : and put it there
- stq_u t0, 0(a0) # e0 :
- ret (t9) # .. e1 :
-
- cfi_endproc
diff --git a/ports/sysdeps/alpha/sub_n.S b/ports/sysdeps/alpha/sub_n.S
deleted file mode 100644
index bf77fd2..0000000
--- a/ports/sysdeps/alpha/sub_n.S
+++ /dev/null
@@ -1,118 +0,0 @@
- # Alpha __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and
- # store difference in a third limb vector.
-
- # Copyright (C) 1995-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr $16
- # s1_ptr $17
- # s2_ptr $18
- # size $19
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_sub_n
- .ent __mpn_sub_n
-__mpn_sub_n:
- .frame $30,0,$26,0
-
- ldq $3,0($17)
- ldq $4,0($18)
-
- subq $19,1,$19
- and $19,4-1,$2 # number of limbs in first loop
- bis $31,$31,$0
- beq $2,.L0 # if multiple of 4 limbs, skip first loop
-
- subq $19,$2,$19
-
-.Loop0: subq $2,1,$2
- ldq $5,8($17)
- addq $4,$0,$4
- ldq $6,8($18)
- cmpult $4,$0,$1
- subq $3,$4,$4
- cmpult $3,$4,$0
- stq $4,0($16)
- or $0,$1,$0
-
- addq $17,8,$17
- addq $18,8,$18
- bis $5,$5,$3
- bis $6,$6,$4
- addq $16,8,$16
- bne $2,.Loop0
-
-.L0: beq $19,.Lend
-
- .align 3
-.Loop: subq $19,4,$19
-
- ldq $5,8($17)
- addq $4,$0,$4
- ldq $6,8($18)
- cmpult $4,$0,$1
- subq $3,$4,$4
- cmpult $3,$4,$0
- stq $4,0($16)
- or $0,$1,$0
-
- ldq $3,16($17)
- addq $6,$0,$6
- ldq $4,16($18)
- cmpult $6,$0,$1
- subq $5,$6,$6
- cmpult $5,$6,$0
- stq $6,8($16)
- or $0,$1,$0
-
- ldq $5,24($17)
- addq $4,$0,$4
- ldq $6,24($18)
- cmpult $4,$0,$1
- subq $3,$4,$4
- cmpult $3,$4,$0
- stq $4,16($16)
- or $0,$1,$0
-
- ldq $3,32($17)
- addq $6,$0,$6
- ldq $4,32($18)
- cmpult $6,$0,$1
- subq $5,$6,$6
- cmpult $5,$6,$0
- stq $6,24($16)
- or $0,$1,$0
-
- addq $17,32,$17
- addq $18,32,$18
- addq $16,32,$16
- bne $19,.Loop
-
-.Lend: addq $4,$0,$4
- cmpult $4,$0,$1
- subq $3,$4,$4
- cmpult $3,$4,$0
- stq $4,0($16)
- or $0,$1,$0
- ret $31,($26),1
-
- .end __mpn_sub_n
diff --git a/ports/sysdeps/alpha/submul_1.S b/ports/sysdeps/alpha/submul_1.S
deleted file mode 100644
index 961b0e3..0000000
--- a/ports/sysdeps/alpha/submul_1.S
+++ /dev/null
@@ -1,90 +0,0 @@
- # Alpha 21064 __mpn_submul_1 -- Multiply a limb vector with a limb and
- # subtract the result from a second limb vector.
-
- # Copyright (C) 1992-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-
- # INPUT PARAMETERS
- # res_ptr r16
- # s1_ptr r17
- # size r18
- # s2_limb r19
-
- # This code runs at 42 cycles/limb on EV4 and 18 cycles/limb on EV5.
-
- .set noreorder
- .set noat
-.text
- .align 3
- .globl __mpn_submul_1
- .ent __mpn_submul_1 2
-__mpn_submul_1:
- .frame $30,0,$26
-
- ldq $2,0($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- subq $18,1,$18 # size--
- mulq $2,$19,$3 # $3 = prod_low
- ldq $5,0($16) # $5 = *res_ptr
- umulh $2,$19,$0 # $0 = prod_high
- beq $18,.Lend1 # jump if size was == 1
- ldq $2,0($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- subq $18,1,$18 # size--
- subq $5,$3,$3
- cmpult $5,$3,$4
- stq $3,0($16)
- addq $16,8,$16 # res_ptr++
- beq $18,.Lend2 # jump if size was == 2
-
- .align 3
-.Loop: mulq $2,$19,$3 # $3 = prod_low
- ldq $5,0($16) # $5 = *res_ptr
- addq $4,$0,$0 # cy_limb = cy_limb + 'cy'
- subq $18,1,$18 # size--
- umulh $2,$19,$4 # $4 = cy_limb
- ldq $2,0($17) # $2 = s1_limb
- addq $17,8,$17 # s1_ptr++
- addq $3,$0,$3 # $3 = cy_limb + prod_low
- cmpult $3,$0,$0 # $0 = carry from (cy_limb + prod_low)
- subq $5,$3,$3
- cmpult $5,$3,$5
- stq $3,0($16)
- addq $16,8,$16 # res_ptr++
- addq $5,$0,$0 # combine carries
- bne $18,.Loop
-
-.Lend2: mulq $2,$19,$3 # $3 = prod_low
- ldq $5,0($16) # $5 = *res_ptr
- addq $4,$0,$0 # cy_limb = cy_limb + 'cy'
- umulh $2,$19,$4 # $4 = cy_limb
- addq $3,$0,$3 # $3 = cy_limb + prod_low
- cmpult $3,$0,$0 # $0 = carry from (cy_limb + prod_low)
- subq $5,$3,$3
- cmpult $5,$3,$5
- stq $3,0($16)
- addq $5,$0,$0 # combine carries
- addq $4,$0,$0 # cy_limb = prod_high + cy
- ret $31,($26),1
-.Lend1: subq $5,$3,$3
- cmpult $5,$3,$5
- stq $3,0($16)
- addq $0,$5,$0
- ret $31,($26),1
-
- .end __mpn_submul_1
diff --git a/ports/sysdeps/alpha/tininess.h b/ports/sysdeps/alpha/tininess.h
deleted file mode 100644
index 1db3779..0000000
--- a/ports/sysdeps/alpha/tininess.h
+++ /dev/null
@@ -1 +0,0 @@
-#define TININESS_AFTER_ROUNDING 1
diff --git a/ports/sysdeps/alpha/tls-macros.h b/ports/sysdeps/alpha/tls-macros.h
deleted file mode 100644
index 00489c2..0000000
--- a/ports/sysdeps/alpha/tls-macros.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Macros to support TLS testing in times of missing compiler support. */
-
-extern void *__tls_get_addr (void *);
-
-# define TLS_GD(x) \
- ({ register void *__gp asm ("$29"); void *__result; \
- asm ("lda %0, " #x "($gp) !tlsgd" : "=r" (__result) : "r"(__gp)); \
- __tls_get_addr (__result); })
-
-# define TLS_LD(x) \
- ({ register void *__gp asm ("$29"); void *__result; \
- asm ("lda %0, " #x "($gp) !tlsldm" : "=r" (__result) : "r"(__gp)); \
- __result = __tls_get_addr (__result); \
- asm ("lda %0, " #x "(%0) !dtprel" : "+r" (__result)); \
- __result; })
-
-# define TLS_IE(x) \
- ({ register void *__gp asm ("$29"); long ofs; \
- asm ("ldq %0, " #x "($gp) !gottprel" : "=r"(ofs) : "r"(__gp)); \
- __builtin_thread_pointer () + ofs; })
-
-# define TLS_LE(x) \
- ({ void *__result = __builtin_thread_pointer (); \
- asm ("lda %0, " #x "(%0) !tprel" : "+r" (__result)); \
- __result; })
diff --git a/ports/sysdeps/alpha/tst-audit.h b/ports/sysdeps/alpha/tst-audit.h
deleted file mode 100644
index 06fab75..0000000
--- a/ports/sysdeps/alpha/tst-audit.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Definitions for testing PLT entry/exit auditing. Alpha version.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
-
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define pltenter la_alpha_gnu_pltenter
-#define pltexit la_alpha_gnu_pltexit
-#define La_regs La_alpha_regs
-#define La_retval La_alpha_retval
-#define int_retval lrv_r0
diff --git a/ports/sysdeps/alpha/udiv_qrnnd.S b/ports/sysdeps/alpha/udiv_qrnnd.S
deleted file mode 100644
index 7c6682e..0000000
--- a/ports/sysdeps/alpha/udiv_qrnnd.S
+++ /dev/null
@@ -1,159 +0,0 @@
- # Alpha 21064 __udiv_qrnnd
-
- # Copyright (C) 1992-2014 Free Software Foundation, Inc.
-
- # This file is part of the GNU MP Library.
-
- # The GNU MP Library is free software; you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published by
- # the Free Software Foundation; either version 2.1 of the License, or (at your
- # option) any later version.
-
- # The GNU MP Library is distributed in the hope that it will be useful, but
- # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- # License for more details.
-
- # You should have received a copy of the GNU Lesser General Public License
- # along with the GNU MP Library. If not, see <http://www.gnu.org/licenses/>.
-
-#include <sysdep.h>
-
- .set noreorder
- .set noat
-
- .text
-
-LEAF(__udiv_qrnnd, 0)
-#ifdef PROF
- ldgp gp, 0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .prologue 1
-#else
- .prologue 0
-#endif
-
-#define cnt $2
-#define tmp $3
-#define rem_ptr $16
-#define n1 $17
-#define n0 $18
-#define d $19
-#define qb $20
-
- ldiq cnt,16
- blt d,$largedivisor
-
-$loop1: cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule d,n1,qb
- subq n1,d,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule d,n1,qb
- subq n1,d,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule d,n1,qb
- subq n1,d,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule d,n1,qb
- subq n1,d,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- subq cnt,1,cnt
- bgt cnt,$loop1
- stq n1,0(rem_ptr)
- bis $31,n0,$0
- ret $31,($26),1
-
-$largedivisor:
- and n0,1,$4
-
- srl n0,1,n0
- sll n1,63,tmp
- or tmp,n0,n0
- srl n1,1,n1
-
- and d,1,$6
- srl d,1,$5
- addq $5,$6,$5
-
-$loop2: cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule $5,n1,qb
- subq n1,$5,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule $5,n1,qb
- subq n1,$5,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule $5,n1,qb
- subq n1,$5,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- cmplt n0,0,tmp
- addq n1,n1,n1
- bis n1,tmp,n1
- addq n0,n0,n0
- cmpule $5,n1,qb
- subq n1,$5,tmp
- cmovne qb,tmp,n1
- bis n0,qb,n0
- subq cnt,1,cnt
- bgt cnt,$loop2
-
- addq n1,n1,n1
- addq $4,n1,n1
- bne $6,$Odd
- stq n1,0(rem_ptr)
- bis $31,n0,$0
- ret $31,($26),1
-
-$Odd:
- /* q' in n0. r' in n1 */
- addq n1,n0,n1
-
- cmpult n1,n0,tmp # tmp := carry from addq
- subq n1,d,AT
- addq n0,tmp,n0
- cmovne tmp,AT,n1
-
- cmpult n1,d,tmp
- addq n0,1,AT
- cmoveq tmp,AT,n0
- subq n1,d,AT
- cmoveq tmp,AT,n1
-
- stq n1,0(rem_ptr)
- bis $31,n0,$0
- ret $31,($26),1
-
- .end __udiv_qrnnd
diff --git a/ports/sysdeps/unix/alpha/Makefile b/ports/sysdeps/unix/alpha/Makefile
deleted file mode 100644
index 441aa02..0000000
--- a/ports/sysdeps/unix/alpha/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifeq ($(subdir),rt)
-librt-sysdep_routines += rt-sysdep
-endif
diff --git a/ports/sysdeps/unix/alpha/getegid.S b/ports/sysdeps/unix/alpha/getegid.S
deleted file mode 100644
index 70e319a..0000000
--- a/ports/sysdeps/unix/alpha/getegid.S
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-
-PSEUDO (__getegid, getxgid, 0)
- MOVE (r1, r0)
- ret
-PSEUDO_END (__getegid)
-
-weak_alias (__getegid, getegid)
diff --git a/ports/sysdeps/unix/alpha/geteuid.S b/ports/sysdeps/unix/alpha/geteuid.S
deleted file mode 100644
index a1010b8..0000000
--- a/ports/sysdeps/unix/alpha/geteuid.S
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-
-PSEUDO (__geteuid, getxuid, 0)
- MOVE (r1, r0)
- ret
-PSEUDO_END (__geteuid)
-
-weak_alias (__geteuid, geteuid)
diff --git a/ports/sysdeps/unix/alpha/getppid.S b/ports/sysdeps/unix/alpha/getppid.S
deleted file mode 100644
index 6e6dc02..0000000
--- a/ports/sysdeps/unix/alpha/getppid.S
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1991-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-
-PSEUDO (__getppid, getxpid, 0)
- MOVE (r1, r0)
- ret
-PSEUDO_END (__getppid)
-
-weak_alias (__getppid, getppid)
diff --git a/ports/sysdeps/unix/alpha/pipe.S b/ports/sysdeps/unix/alpha/pipe.S
deleted file mode 100644
index a24c66c..0000000
--- a/ports/sysdeps/unix/alpha/pipe.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger (davidm@cs.arizona.edu).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* __pipe is a special syscall since it returns two values. */
-
-#include <sysdep.h>
-
-PSEUDO (__pipe, pipe, 0)
- stl r0, 0(a0)
- stl r1, 4(a0)
- mov zero, v0
- ret
-PSEUDO_END(__pipe)
-
-libc_hidden_def (__pipe)
-weak_alias (__pipe, pipe)
diff --git a/ports/sysdeps/unix/alpha/rt-sysdep.S b/ports/sysdeps/unix/alpha/rt-sysdep.S
deleted file mode 100644
index f966bf1..0000000
--- a/ports/sysdeps/unix/alpha/rt-sysdep.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdep.S>
diff --git a/ports/sysdeps/unix/alpha/sysdep.S b/ports/sysdeps/unix/alpha/sysdep.S
deleted file mode 100644
index a39ee61..0000000
--- a/ports/sysdeps/unix/alpha/sysdep.S
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@zen.org).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <features.h>
-
-#if defined(PIC)
- /* Put this at the end of libc's text segment so that all of
- the direct branches from the syscalls are forward, and
- thus predicted not taken. */
- .section .text.last, "ax", @progbits
-#else
- .text
-#endif
-
-#ifndef NOT_IN_libc
-# define SYSCALL_ERROR_ERRNO __libc_errno
-#else
-# define SYSCALL_ERROR_ERRNO errno
-#endif
-
- .align 4
- .globl __syscall_error
- .ent __syscall_error
-__syscall_error:
- /* When building a shared library, we branch here without having
- loaded the GP. Nor, since it was a direct branch, have we
- loaded PV with our address.
-
- When building a static library, we tail call here from another
- object file, possibly with a different GP, and must return with
- the GP of our caller in place so that linker relaxation works.
-
- Both issues are solved by computing the GP into T1 instead of
- clobbering the traditional GP register. */
- .prologue 0
- mov v0, t0
- br t1, 1f
-1: ldah t1, 0(t1) !gpdisp!1
- call_pal PAL_rduniq
-
- lda t1, 0(t1) !gpdisp!1
- ldq t1, SYSCALL_ERROR_ERRNO(t1) !gottprel
- addq v0, t1, t1
- lda v0, -1
-
- stl t0, 0(t1)
- ret
-
- .end __syscall_error
diff --git a/ports/sysdeps/unix/alpha/sysdep.h b/ports/sysdeps/unix/alpha/sysdep.h
deleted file mode 100644
index 7425026..0000000
--- a/ports/sysdeps/unix/alpha/sysdep.h
+++ /dev/null
@@ -1,385 +0,0 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe (brendan@zen.org).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdeps/unix/sysdep.h>
-
-#ifdef __ASSEMBLER__
-
-#ifdef __linux__
-# include <alpha/regdef.h>
-#else
-# include <regdef.h>
-#endif
-
-#ifdef IS_IN_rtld
-# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */
-#endif
-
-
-#define __LABEL(x) x##:
-
-#define LEAF(name, framesize) \
- .globl name; \
- .align 4; \
- .ent name, 0; \
- __LABEL(name) \
- .frame sp, framesize, ra
-
-#define ENTRY(name) \
- .globl name; \
- .align 4; \
- .ent name, 0; \
- __LABEL(name) \
- .frame sp, 0, ra
-
-/* Mark the end of function SYM. */
-#undef END
-#define END(sym) .end sym
-
-#ifdef PROF
-# define PSEUDO_PROF \
- .set noat; \
- lda AT, _mcount; \
- jsr AT, (AT), _mcount; \
- .set at
-#else
-# define PSEUDO_PROF
-#endif
-
-#ifdef PROF
-# define PSEUDO_PROLOGUE \
- .frame sp, 0, ra; \
- ldgp gp,0(pv); \
- PSEUDO_PROF; \
- .prologue 1
-#elif defined PIC
-# define PSEUDO_PROLOGUE \
- .frame sp, 0, ra; \
- .prologue 0
-#else
-# define PSEUDO_PROLOGUE \
- .frame sp, 0, ra; \
- ldgp gp,0(pv); \
- .prologue 1
-#endif /* PROF */
-
-#ifdef PROF
-# define USEPV_PROF std
-#else
-# define USEPV_PROF no
-#endif
-
-#if RTLD_PRIVATE_ERRNO
-# define SYSCALL_ERROR_LABEL $syscall_error
-# define SYSCALL_ERROR_HANDLER \
-$syscall_error: \
- stl v0, rtld_errno(gp) !gprel; \
- lda v0, -1; \
- ret
-# define SYSCALL_ERROR_FALLTHRU
-#elif defined(PIC)
-# define SYSCALL_ERROR_LABEL __syscall_error !samegp
-# define SYSCALL_ERROR_HANDLER
-# define SYSCALL_ERROR_FALLTHRU br SYSCALL_ERROR_LABEL
-#else
-# define SYSCALL_ERROR_LABEL $syscall_error
-# define SYSCALL_ERROR_HANDLER \
-$syscall_error: \
- jmp $31, __syscall_error
-# define SYSCALL_ERROR_FALLTHRU
-#endif /* RTLD_PRIVATE_ERRNO */
-
-/* Overridden by specific syscalls. */
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS /* Nothing. */
-
-#define PSEUDO(name, syscall_name, args) \
- .globl name; \
- .align 4; \
- .ent name,0; \
-__LABEL(name) \
- PSEUDO_PROLOGUE; \
- PSEUDO_PREPARE_ARGS \
- lda v0, SYS_ify(syscall_name); \
- call_pal PAL_callsys; \
- bne a3, SYSCALL_ERROR_LABEL
-
-#undef PSEUDO_END
-#define PSEUDO_END(sym) \
- SYSCALL_ERROR_HANDLER; \
- END(sym)
-
-#define PSEUDO_NOERRNO(name, syscall_name, args) \
- .globl name; \
- .align 4; \
- .ent name,0; \
-__LABEL(name) \
- PSEUDO_PROLOGUE; \
- PSEUDO_PREPARE_ARGS \
- lda v0, SYS_ify(syscall_name); \
- call_pal PAL_callsys;
-
-#undef PSEUDO_END_NOERRNO
-#define PSEUDO_END_NOERRNO(sym) END(sym)
-
-#define ret_NOERRNO ret
-
-#define PSEUDO_ERRVAL(name, syscall_name, args) \
- .globl name; \
- .align 4; \
- .ent name,0; \
-__LABEL(name) \
- PSEUDO_PROLOGUE; \
- PSEUDO_PREPARE_ARGS \
- lda v0, SYS_ify(syscall_name); \
- call_pal PAL_callsys;
-
-#undef PSEUDO_END_ERRVAL
-#define PSEUDO_END_ERRVAL(sym) END(sym)
-
-#define ret_ERRVAL ret
-
-#define r0 v0
-#define r1 a4
-
-#define MOVE(x,y) mov x,y
-
-#else /* !ASSEMBLER */
-
-/* In order to get __set_errno() definition in INLINE_SYSCALL. */
-#include <errno.h>
-
-/* ??? Linux needs to be able to override INLINE_SYSCALL for one
- particular special case. Make this easy. */
-
-#undef INLINE_SYSCALL
-#define INLINE_SYSCALL(name, nr, args...) \
- INLINE_SYSCALL1(name, nr, args)
-
-#define INLINE_SYSCALL1(name, nr, args...) \
-({ \
- long _sc_ret, _sc_err; \
- inline_syscall##nr(__NR_##name, args); \
- if (__builtin_expect (_sc_err, 0)) \
- { \
- __set_errno (_sc_ret); \
- _sc_ret = -1L; \
- } \
- _sc_ret; \
-})
-
-#define INTERNAL_SYSCALL(name, err_out, nr, args...) \
- INTERNAL_SYSCALL1(name, err_out, nr, args)
-
-#define INTERNAL_SYSCALL1(name, err_out, nr, args...) \
- INTERNAL_SYSCALL_NCS(__NR_##name, err_out, nr, args)
-
-#define INTERNAL_SYSCALL_NCS(name, err_out, nr, args...) \
-({ \
- long _sc_ret, _sc_err; \
- inline_syscall##nr(name, args); \
- err_out = _sc_err; \
- _sc_ret; \
-})
-
-#define INTERNAL_SYSCALL_DECL(err) \
- long int err __attribute__((unused))
-
-/* The normal Alpha calling convention sign-extends 32-bit quantties
- no matter what the "real" sign of the 32-bit type. We want to
- preserve that when filling in values for the kernel. */
-#define syscall_promote(arg) \
- (sizeof(arg) == 4 ? (long)(int)(long)(arg) : (long)(arg))
-
-/* Make sure and "use" the variable that we're not returning,
- in order to suppress unused variable warnings. */
-#define INTERNAL_SYSCALL_ERROR_P(val, err) ((void)val, err)
-#define INTERNAL_SYSCALL_ERRNO(val, err) ((void)err, val)
-
-#define inline_syscall_clobbers \
- "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \
- "$22", "$23", "$24", "$25", "$27", "$28", "memory"
-
-/* It is moderately important optimization-wise to limit the lifetime
- of the hard-register variables as much as possible. Thus we copy
- in/out as close to the asm as possible. */
-
-#define inline_syscall0(name, args...) \
-{ \
- register long _sc_19 __asm__("$19"); \
- register long _sc_0 = name; \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2" \
- : "+v"(_sc_0), "=r"(_sc_19) \
- : : inline_syscall_clobbers, \
- "$16", "$17", "$18", "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-
-#define inline_syscall1(name,arg1) \
-{ \
- register long _tmp_16 = syscall_promote (arg1); \
- register long _sc_0 = name; \
- register long _sc_16 __asm__("$16") = _tmp_16; \
- register long _sc_19 __asm__("$19"); \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2 %3" \
- : "+v"(_sc_0), "=r"(_sc_19), "+r"(_sc_16) \
- : : inline_syscall_clobbers, \
- "$17", "$18", "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-
-#define inline_syscall2(name,arg1,arg2) \
-{ \
- register long _tmp_16 = syscall_promote (arg1); \
- register long _tmp_17 = syscall_promote (arg2); \
- register long _sc_0 = name; \
- register long _sc_16 __asm__("$16") = _tmp_16; \
- register long _sc_17 __asm__("$17") = _tmp_17; \
- register long _sc_19 __asm__("$19"); \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2 %3 %4" \
- : "+v"(_sc_0), "=r"(_sc_19), \
- "+r"(_sc_16), "+r"(_sc_17) \
- : : inline_syscall_clobbers, \
- "$18", "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-
-#define inline_syscall3(name,arg1,arg2,arg3) \
-{ \
- register long _tmp_16 = syscall_promote (arg1); \
- register long _tmp_17 = syscall_promote (arg2); \
- register long _tmp_18 = syscall_promote (arg3); \
- register long _sc_0 = name; \
- register long _sc_16 __asm__("$16") = _tmp_16; \
- register long _sc_17 __asm__("$17") = _tmp_17; \
- register long _sc_18 __asm__("$18") = _tmp_18; \
- register long _sc_19 __asm__("$19"); \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2 %3 %4 %5" \
- : "+v"(_sc_0), "=r"(_sc_19), "+r"(_sc_16), \
- "+r"(_sc_17), "+r"(_sc_18) \
- : : inline_syscall_clobbers, "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-
-#define inline_syscall4(name,arg1,arg2,arg3,arg4) \
-{ \
- register long _tmp_16 = syscall_promote (arg1); \
- register long _tmp_17 = syscall_promote (arg2); \
- register long _tmp_18 = syscall_promote (arg3); \
- register long _tmp_19 = syscall_promote (arg4); \
- register long _sc_0 = name; \
- register long _sc_16 __asm__("$16") = _tmp_16; \
- register long _sc_17 __asm__("$17") = _tmp_17; \
- register long _sc_18 __asm__("$18") = _tmp_18; \
- register long _sc_19 __asm__("$19") = _tmp_19; \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2 %3 %4 %5 %6" \
- : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16), \
- "+r"(_sc_17), "+r"(_sc_18) \
- : : inline_syscall_clobbers, "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-
-#define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5) \
-{ \
- register long _tmp_16 = syscall_promote (arg1); \
- register long _tmp_17 = syscall_promote (arg2); \
- register long _tmp_18 = syscall_promote (arg3); \
- register long _tmp_19 = syscall_promote (arg4); \
- register long _tmp_20 = syscall_promote (arg5); \
- register long _sc_0 = name; \
- register long _sc_16 __asm__("$16") = _tmp_16; \
- register long _sc_17 __asm__("$17") = _tmp_17; \
- register long _sc_18 __asm__("$18") = _tmp_18; \
- register long _sc_19 __asm__("$19") = _tmp_19; \
- register long _sc_20 __asm__("$20") = _tmp_20; \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7" \
- : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16), \
- "+r"(_sc_17), "+r"(_sc_18), "+r"(_sc_20) \
- : : inline_syscall_clobbers, "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-
-#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6) \
-{ \
- register long _tmp_16 = syscall_promote (arg1); \
- register long _tmp_17 = syscall_promote (arg2); \
- register long _tmp_18 = syscall_promote (arg3); \
- register long _tmp_19 = syscall_promote (arg4); \
- register long _tmp_20 = syscall_promote (arg5); \
- register long _tmp_21 = syscall_promote (arg6); \
- register long _sc_0 = name; \
- register long _sc_16 __asm__("$16") = _tmp_16; \
- register long _sc_17 __asm__("$17") = _tmp_17; \
- register long _sc_18 __asm__("$18") = _tmp_18; \
- register long _sc_19 __asm__("$19") = _tmp_19; \
- register long _sc_20 __asm__("$20") = _tmp_20; \
- register long _sc_21 __asm__("$21") = _tmp_21; \
- __asm__ __volatile__ \
- ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \
- : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16), \
- "+r"(_sc_17), "+r"(_sc_18), "+r"(_sc_20), \
- "+r"(_sc_21) \
- : : inline_syscall_clobbers); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
-}
-#endif /* ASSEMBLER */
-
-/* Pointer mangling support. Note that tls access is slow enough that
- we don't deoptimize things by placing the pointer check value there. */
-
-#ifdef __ASSEMBLER__
-# if defined NOT_IN_libc && defined IS_IN_rtld
-# define PTR_MANGLE(dst, src, tmp) \
- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
- xor src, tmp, dst
-# define PTR_MANGLE2(dst, src, tmp) \
- xor src, tmp, dst
-# elif defined SHARED
-# define PTR_MANGLE(dst, src, tmp) \
- ldq tmp, __pointer_chk_guard; \
- xor src, tmp, dst
-# else
-# define PTR_MANGLE(dst, src, tmp) \
- ldq tmp, __pointer_chk_guard_local; \
- xor src, tmp, dst
-# endif
-# define PTR_MANGLE2(dst, src, tmp) \
- xor src, tmp, dst
-# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
-# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
-#else
-# include <stdint.h>
-# if (defined NOT_IN_libc && defined IS_IN_rtld) \
- || (!defined SHARED && (!defined NOT_IN_libc || defined IS_IN_libpthread))
-extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
-# define PTR_MANGLE(var) \
- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
-# else
-extern const uintptr_t __pointer_chk_guard attribute_relro;
-# define PTR_MANGLE(var) \
- (var) = (__typeof(var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
-# endif
-# define PTR_DEMANGLE(var) PTR_MANGLE(var)
-#endif /* ASSEMBLER */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/Implies b/ports/sysdeps/unix/sysv/linux/alpha/Implies
deleted file mode 100644
index 1616efe..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-unix/sysv/linux/wordsize-64
-# These supply the ABI compatibility for when long double was double.
-ieee754/ldbl-64-128
-ieee754/ldbl-opt
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/Makefile b/ports/sysdeps/unix/sysv/linux/alpha/Makefile
deleted file mode 100644
index 9676fee..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-ifeq ($(subdir),posix)
-sysdep_routines += oldglob
-endif
-
-ifeq ($(subdir),stdlib)
-gen-as-const-headers += ucontext-offsets.sym
-endif
-
-ifeq ($(subdir),misc)
-sysdep_headers += alpha/ptrace.h alpha/regdef.h sys/io.h
-
-sysdep_routines += ieee_get_fp_control ieee_set_fp_control \
- ioperm llseek
-
-# Support old timeval32 entry points
-sysdep_routines += osf_select osf_gettimeofday osf_settimeofday \
- osf_getitimer osf_setitimer osf_utimes \
- osf_getrusage osf_wait4
-
-# Support old ipc control
-sysdep_routines += oldmsgctl oldsemctl oldshmctl
-
-CFLAGS-fdatasync.c = -fexceptions
-CFLAGS-ioperm.c = -Wa,-mev6
-endif
-
-ifeq ($(subdir),signal)
-sysdep_routines += rt_sigaction
-endif
-
-ifeq ($(subdir),math)
-# These 2 routines are normally in libgcc{.a,_s.so.1}.
-# However, alpha -mlong-double-128 libgcc relies on
-# glibc providing _Ots* routines and without these files
-# glibc relies on __multc3/__divtc3 only provided
-# by libgcc if configured with -mlong-double-128.
-# Provide these routines here as well.
-libm-routines += multc3 divtc3
-endif # math
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/Versions b/ports/sysdeps/unix/sysv/linux/alpha/Versions
deleted file mode 100644
index b3cec3a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/Versions
+++ /dev/null
@@ -1,102 +0,0 @@
-libc {
- # The comment lines with "#errlist-compat" are magic; see
- # sysdeps/gnu/errlist-compat.awk.
- # When you get an error from errlist-compat.awk, you need to add a new
- # version here. Don't do this blindly, since this means changing the ABI
- # for all GNU/Linux configurations.
-
- GLIBC_2.0 {
- #errlist-compat 131
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
-
- # Unfortunately in wider use.
- _inb; _inw; _inl; _outb; _outw; _outl; _bus_base; _bus_base_sparse;
- _hae_shift;
-
- # Exception handling support functions from libgcc
- __register_frame; __register_frame_table; __deregister_frame;
- __frame_state_for; __register_frame_info_table;
-
- # b*
- bus_base; bus_base_sparse;
-
- # h*
- hae_shift;
-
- # i*
- inb; inl; inw; ioperm; iopl;
-
- # o*
- outb; outl; outw;
-
- # p*
- pciconfig_read; pciconfig_write; sethae;
- }
- GLIBC_2.1 {
- #errlist-compat 131
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
-
- # Linux/Alpha 64-bit timeval functions.
- __select; select;
- adjtime; adjtimex; __adjtimex;
- __gettimeofday;
-
- # glob interface change
- glob; globfree;
-
- # limit type change
- getrusage;
-
- # time type change
- gettimeofday; getitimer;
-
- # i*
- ieee_get_fp_control; ieee_set_fp_control;
-
- # s*
- setitimer; settimeofday;
-
- # u*
- utimes;
-
- # w*
- wait4;
- }
- GLIBC_2.1.4 {
- pciconfig_iobase;
- }
- GLIBC_2.2.2 {
- # w*
- wordexp;
- }
- GLIBC_2.3 {
- #errlist-compat 132
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
- GLIBC_2.4 {
- #errlist-compat 138
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
- GLIBC_2.12 {
- #errlist-compat 139
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
- GLIBC_2.16 {
- #errlist-compat 140
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
- GLIBC_PRIVATE {
- __libc_alpha_cache_shape;
- }
-}
-ld {
- GLIBC_PRIVATE {
- __libc_alpha_cache_shape;
- }
-}
-librt {
- GLIBC_2.3 {
- # AIO functions.
- aio_cancel; aio_cancel64;
- }
-}
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S b/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
deleted file mode 100644
index d6ca4c1..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <jmpbuf-offsets.h>
-
-
- .section .rodata.str1.1,"aMS",@progbits,1
- .type longjmp_msg,@object
-longjmp_msg:
- .string "longjmp causes uninitialized stack frame"
- .size longjmp_msg, .-longjmp_msg
-
-
-/* Jump to the position specified by ENV, causing the
- setjmp call there to return VAL, or 1 if VAL is 0.
- void __longjmp (__jmp_buf env, int val). */
- .text
- .align 4
- .globl ____longjmp_chk
- .type ____longjmp_chk, @function
- .usepv ____longjmp_chk, std
-
- cfi_startproc
-____longjmp_chk:
- ldgp gp, 0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
-
- ldq s2, JB_PC*8(a0)
- mov a0, s0
- ldq fp, JB_FP*8(a0)
- mov a1, s1
- ldq s3, JB_SP*8(a0)
- cmoveq s1, 1, s1
-
-#ifdef PTR_DEMANGLE
- PTR_DEMANGLE(s2, t1)
- PTR_DEMANGLE2(s3, t1)
- PTR_DEMANGLE2(fp, t1)
-#endif
- /* ??? While this is a proper test for detecting a longjmp to an
- invalid frame within any given stack, the main thread stack is
- located *below* almost everything in the address space. Which
- means that the test at Lfail vs the signal stack will almost
- certainly never pass. We ought bounds check top and bottom of
- the current thread's stack. */
- cmpule s3, sp, t1
- bne t1, $Lfail
-
- .align 4
-$Lok:
- mov s0, a0
- mov s1, v0
- mov s3, t0
- mov s2, ra
- cfi_remember_state
- cfi_def_cfa(a0, 0)
- cfi_register(sp, t0)
- cfi_offset(s0, JB_S0*8)
- cfi_offset(s1, JB_S1*8)
- cfi_offset(s2, JB_S2*8)
- cfi_offset(s3, JB_S3*8)
- cfi_offset(s4, JB_S4*8)
- cfi_offset(s5, JB_S5*8)
- cfi_offset(s3, JB_S3*8)
- cfi_offset($f2, JB_F2*8)
- cfi_offset($f3, JB_F3*8)
- cfi_offset($f4, JB_F4*8)
- cfi_offset($f5, JB_F5*8)
- cfi_offset($f6, JB_F6*8)
- cfi_offset($f7, JB_F7*8)
- cfi_offset($f8, JB_F8*8)
- cfi_offset($f9, JB_F9*8)
- ldq s0, JB_S0*8(a0)
- ldq s1, JB_S1*8(a0)
- ldq s2, JB_S2*8(a0)
- ldq s3, JB_S3*8(a0)
- ldq s4, JB_S4*8(a0)
- ldq s5, JB_S5*8(a0)
- ldt $f2, JB_F2*8(a0)
- ldt $f3, JB_F3*8(a0)
- ldt $f4, JB_F4*8(a0)
- ldt $f5, JB_F5*8(a0)
- ldt $f6, JB_F6*8(a0)
- ldt $f7, JB_F7*8(a0)
- ldt $f8, JB_F8*8(a0)
- ldt $f9, JB_F9*8(a0)
- mov t0, sp
- ret
-
- .align 4
-$Lfail:
- cfi_restore_state
- lda v0, __NR_sigaltstack
- lda a0, 0
- lda a1, -32(sp)
- lda sp, -32(sp)
- cfi_adjust_cfa_offset(32)
- callsys
- ldq t0, 0(sp) /* ss_sp */
- ldl t1, 8(sp) /* ss_flags */
- ldq t2, 16(sp) /* ss_size */
- lda sp, 32(sp)
- cfi_adjust_cfa_offset(-32)
-
- /* Without working sigaltstack we cannot perform the test. */
- bne a3, $Lok
-
- addq t0, t2, t0 /* t0 = ss_sp + ss_size */
- subq t0, s3, t0 /* t0 = (ss_sp + ss_size) - new_sp */
- cmpule t2, t0, t0 /* t0 = (t0 >= ss_size) */
- and t0, t1, t0 /* t0 = (t0 >= ss_size) & (ss_flags & SS_ONSTACK) */
- bne t0, $Lok
-
- ldah a0, longjmp_msg(gp) !gprelhigh
- lda a0, longjmp_msg(a0) !gprellow
-#ifdef PIC
- jsr ra, HIDDEN_JUMPTARGET(__fortify_fail)
-#else
- bsr ra, HIDDEN_JUMPTARGET(__fortify_fail) !samegp
-#endif
- bugchk
-
- cfi_endproc
- .size ____longjmp_chk, .-____longjmp_chk
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/a.out.h b/ports/sysdeps/unix/sysv/linux/alpha/a.out.h
deleted file mode 100644
index a7699f0..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/a.out.h
+++ /dev/null
@@ -1,197 +0,0 @@
-#ifndef __A_OUT_GNU_H__
-#define __A_OUT_GNU_H__
-
-#include <bits/a.out.h>
-
-#define __GNU_EXEC_MACROS__
-
-/*
- * OSF/1 ECOFF header structs. ECOFF files consist of:
- * - a file header (struct filehdr),
- * - an a.out header (struct aouthdr),
- * - one or more section headers (struct scnhdr).
- * The filhdr's "f_nscns" field contains the
- * number of section headers.
- */
-
-struct filehdr
-{
- /* OSF/1 "file" header */
- unsigned short f_magic, f_nscns;
- unsigned int f_timdat;
- unsigned long f_symptr;
- unsigned int f_nsyms;
- unsigned short f_opthdr, f_flags;
-};
-
-struct aouthdr
-{
- unsigned long info; /* After that it looks quite normal.. */
- unsigned long tsize;
- unsigned long dsize;
- unsigned long bsize;
- unsigned long entry;
- unsigned long text_start; /* With a few additions that actually make sense. */
- unsigned long data_start;
- unsigned long bss_start;
- unsigned int gprmask, fprmask; /* Bitmask of general & floating point regs used in binary. */
- unsigned long gpvalue;
-};
-
-struct scnhdr
-{
- char s_name[8];
- unsigned long s_paddr;
- unsigned long s_vaddr;
- unsigned long s_size;
- unsigned long s_scnptr;
- unsigned long s_relptr;
- unsigned long s_lnnoptr;
- unsigned short s_nreloc;
- unsigned short s_nlnno;
- unsigned int s_flags;
-};
-
-struct exec
-{
- /* OSF/1 "file" header */
- struct filehdr fh;
- struct aouthdr ah;
-};
-
-#define a_info ah.info
-#define a_text ah.tsize
-#define a_data ah.dsize
-#define a_bss ah.bsize
-#define a_entry ah.entry
-#define a_textstart ah.text_start
-#define a_datastart ah.data_start
-#define a_bssstart ah.bss_start
-#define a_gprmask ah.gprmask
-#define a_fprmask ah.fprmask
-#define a_gpvalue ah.gpvalue
-
-
-#define AOUTHSZ sizeof(struct aouthdr)
-#define SCNHSZ sizeof(struct scnhdr)
-#define SCNROUND 16
-
-enum machine_type
-{
- M_OLDSUN2 = 0,
- M_68010 = 1,
- M_68020 = 2,
- M_SPARC = 3,
- M_386 = 100,
- M_MIPS1 = 151,
- M_MIPS2 = 152
-};
-
-#define N_MAGIC(exec) ((exec).a_info & 0xffff)
-#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff))
-#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff)
-#define N_SET_INFO(exec, magic, type, flags) \
- ((exec).a_info = ((magic) & 0xffff) \
- | (((int)(type) & 0xff) << 16) \
- | (((flags) & 0xff) << 24))
-#define N_SET_MAGIC(exec, magic) \
- ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff))
-#define N_SET_MACHTYPE(exec, machtype) \
- ((exec).a_info = \
- ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16))
-#define N_SET_FLAGS(exec, flags) \
- ((exec).a_info = \
- ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24))
-
-/* Code indicating object file or impure executable. */
-#define OMAGIC 0407
-/* Code indicating pure executable. */
-#define NMAGIC 0410
-/* Code indicating demand-paged executable. */
-#define ZMAGIC 0413
-/* This indicates a demand-paged executable with the header in the text.
- The first page is unmapped to help trap NULL pointer references. */
-#define QMAGIC 0314
-/* Code indicating core file. */
-#define CMAGIC 0421
-
-#define N_TRSIZE(x) 0
-#define N_DRSIZE(x) 0
-#define N_SYMSIZE(x) 0
-#define N_BADMAG(x) \
- (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \
- && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC)
-#define _N_HDROFF(x) (1024 - sizeof (struct exec))
-#define N_TXTOFF(x) \
- ((long) N_MAGIC(x) == ZMAGIC ? 0 : \
- (sizeof (struct exec) + (x).fh.f_nscns * SCNHSZ + SCNROUND - 1) \
- & ~(SCNROUND - 1))
-
-#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text)
-#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data)
-#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x))
-#define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x))
-#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x))
-
-/* Address of text segment in memory after it is loaded. */
-#define N_TXTADDR(x) ((x).a_textstart)
-
-/* Address of data segment in memory after it is loaded. */
-#define SEGMENT_SIZE 1024
-
-#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1))
-#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text)
-
-#define N_DATADDR(x) ((x).a_datastart)
-#define N_BSSADDR(x) ((x).a_bssstart)
-
-#if !defined (N_NLIST_DECLARED)
-struct nlist
-{
- union
- {
- char *n_name;
- struct nlist *n_next;
- long n_strx;
- } n_un;
- unsigned char n_type;
- char n_other;
- short n_desc;
- unsigned long n_value;
-};
-#endif /* no N_NLIST_DECLARED. */
-
-#define N_UNDF 0
-#define N_ABS 2
-#define N_TEXT 4
-#define N_DATA 6
-#define N_BSS 8
-#define N_FN 15
-#define N_EXT 1
-#define N_TYPE 036
-#define N_STAB 0340
-#define N_INDR 0xa
-#define N_SETA 0x14 /* Absolute set element symbol. */
-#define N_SETT 0x16 /* Text set element symbol. */
-#define N_SETD 0x18 /* Data set element symbol. */
-#define N_SETB 0x1A /* Bss set element symbol. */
-#define N_SETV 0x1C /* Pointer to set vector in data area. */
-
-#if !defined (N_RELOCATION_INFO_DECLARED)
-/* This structure describes a single relocation to be performed.
- The text-relocation section of the file is a vector of these structures,
- all of which apply to the text section.
- Likewise, the data-relocation section applies to the data section. */
-
-struct relocation_info
-{
- int r_address;
- unsigned int r_symbolnum:24;
- unsigned int r_pcrel:1;
- unsigned int r_length:2;
- unsigned int r_extern:1;
- unsigned int r_pad:4;
-};
-#endif /* no N_RELOCATION_INFO_DECLARED. */
-
-#endif /* __A_OUT_GNU_H__ */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/adjtime.c b/ports/sysdeps/unix/sysv/linux/alpha/adjtime.c
deleted file mode 100644
index a0cbba3..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/adjtime.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <shlib-compat.h>
-#include <sysdep.h>
-#include <sys/time.h>
-
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-struct timeval32
-{
- int tv_sec, tv_usec;
-};
-
-struct timex32 {
- unsigned int modes; /* mode selector */
- long offset; /* time offset (usec) */
- long freq; /* frequency offset (scaled ppm) */
- long maxerror; /* maximum error (usec) */
- long esterror; /* estimated error (usec) */
- int status; /* clock command/status */
- long constant; /* pll time constant */
- long precision; /* clock precision (usec) (read only) */
- long tolerance; /* clock frequency tolerance (ppm)
- * (read only)
- */
- struct timeval32 time; /* (read only) */
- long tick; /* (modified) usecs between clock ticks */
-
- long ppsfreq; /* pps frequency (scaled ppm) (ro) */
- long jitter; /* pps jitter (us) (ro) */
- int shift; /* interval duration (s) (shift) (ro) */
- long stabil; /* pps stability (scaled ppm) (ro) */
- long jitcnt; /* jitter limit exceeded (ro) */
- long calcnt; /* calibration intervals (ro) */
- long errcnt; /* calibration errors (ro) */
- long stbcnt; /* stability limit exceeded (ro) */
-
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
-};
-
-#define TIMEVAL timeval32
-#define TIMEX timex32
-#define ADJTIME attribute_compat_text_section __adjtime_tv32
-#define ADJTIMEX(x) INLINE_SYSCALL (old_adjtimex, 1, x)
-#define ADJTIMEX32(x) INLINE_SYSCALL (old_adjtimex, 1, x)
-
-#include <sysdeps/unix/sysv/linux/adjtime.c>
-
-int attribute_compat_text_section
-__adjtimex_tv32 (struct timex32 *tx) { return ADJTIMEX (tx); }
-
-strong_alias (__adjtimex_tv32, __adjtimex_tv32_1);
-strong_alias (__adjtimex_tv32, __adjtimex_tv32_2);
-compat_symbol (libc, __adjtimex_tv32_1, __adjtimex, GLIBC_2_0);
-compat_symbol (libc, __adjtimex_tv32_2, adjtimex, GLIBC_2_0);
-compat_symbol (libc, __adjtime_tv32, adjtime, GLIBC_2_0);
-#endif /* SHLIB_COMPAT */
-
-#undef TIMEVAL
-#undef TIMEX
-#undef ADJTIME
-#undef ADJTIMEX
-#define TIMEVAL timeval
-#define TIMEX timex
-#define ADJTIMEX(x) INLINE_SYSCALL (adjtimex, 1, x)
-
-#include <sysdeps/unix/sysv/linux/adjtime.c>
-
-int
-__adjtimex_tv64 (struct timex *tx) { return ADJTIMEX (tx); }
-
-strong_alias (__adjtimex_tv64, __adjtimex_internal);
-strong_alias (__adjtimex_tv64, __adjtimex_tv64p);
-weak_alias (__adjtimex_tv64, ntp_adjtime);
-versioned_symbol (libc, __adjtimex_tv64, __adjtimex, GLIBC_2_1);
-versioned_symbol (libc, __adjtimex_tv64p, adjtimex, GLIBC_2_1);
-versioned_symbol (libc, __adjtime, adjtime, GLIBC_2_1);
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h b/ports/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h
deleted file mode 100644
index 57b96d6..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/alpha/ptrace.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef __alpha_ptrace_h__
-#define __alpha_ptrace_h__
-
-/*
- * Mostly for OSF/1 compatibility.
- */
-
-#define REG_BASE 0
-#define NGP_REGS 32
-#define NFP_REGS 32
-
-#define GPR_BASE REG_BASE
-#define FPR_BASE (GPR_BASE+NGP_REGS)
-#define PC (FPR_BASE+NFP_REGS)
-#define SPR_PS (PC+1)
-#define NPTRC_REGS (SPR_PS+1)
-
-#endif /* __alpha_ptrace_h__ */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h b/ports/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h
deleted file mode 100644
index 142df9c..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/alpha/regdef.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef __alpha_regdef_h__
-#define __alpha_regdef_h__
-
-#define v0 $0 /* function return value */
-
-#define t0 $1 /* temporary registers (caller-saved) */
-#define t1 $2
-#define t2 $3
-#define t3 $4
-#define t4 $5
-#define t5 $6
-#define t6 $7
-#define t7 $8
-
-#define s0 $9 /* saved-registers (callee-saved registers) */
-#define s1 $10
-#define s2 $11
-#define s3 $12
-#define s4 $13
-#define s5 $14
-#define s6 $15
-#define fp s6 /* frame-pointer (s6 in frame-less procedures) */
-
-#define a0 $16 /* argument registers (caller-saved) */
-#define a1 $17
-#define a2 $18
-#define a3 $19
-#define a4 $20
-#define a5 $21
-
-#define t8 $22 /* more temps (caller-saved) */
-#define t9 $23
-#define t10 $24
-#define t11 $25
-#define ra $26 /* return address register */
-#define t12 $27
-
-#define pv t12 /* procedure-variable register */
-#define AT $at /* assembler temporary */
-#define gp $29 /* global pointer */
-#define sp $30 /* stack pointer */
-#define zero $31 /* reads as zero, writes are noops */
-
-#endif /* __alpha_regdef_h__ */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies b/ports/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies
deleted file mode 100644
index 0d7000d..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/alphaev6/fpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Override ldbl-opt with alpha specific routines.
-alpha/alphaev6/fpu
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies b/ports/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies
deleted file mode 100644
index 617c388..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/alphaev67/fpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Override ldbl-opt with alpha specific routines.
-alpha/alphaev67/fpu
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/a.out.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/a.out.h
deleted file mode 100644
index 82a3dd4..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/a.out.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __A_OUT_GNU_H__
-# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
-#endif
-#ifndef __A_OUT_GNU_H__
-# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
-#endif
-#ifndef __A_OUT_GNU_H__
-# error "Never use <bits/a.out.h> directly; include <a.out.h> instead."
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
deleted file mode 100644
index 01b043a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_DIRENT_H
-#define _BITS_DIRENT_H 1
-
-struct dirent
- {
-#ifdef __USE_FILE_OFFSET64
- __ino64_t d_ino;
-#else
- __ino_t d_ino;
- int __pad;
-#endif
- __off_t d_off;
- unsigned short int d_reclen;
- unsigned char d_type;
- char d_name[256]; /* We must not include limits.h! */
- };
-
-#ifdef __USE_LARGEFILE64
-/* Note dirent64 is the same as dirent. */
-struct dirent64
- {
- __ino64_t d_ino;
- __off64_t d_off;
- unsigned short int d_reclen;
- unsigned char d_type;
- char d_name[256]; /* We must not include limits.h! */
- };
-#endif
-
-#define d_fileno d_ino /* Backwards compatibility. */
-
-#undef _DIRENT_HAVE_D_NAMLEN
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-#define _DIRENT_HAVE_D_TYPE
-
-/* Inform libc code that these two types are effectively identical. */
-#define _DIRENT_MATCHES_DIRENT64 1
-
-#endif /* bits/dirent.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
deleted file mode 100644
index e5aa4a0..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* This file specifies the native word size of the machine, which indicates
- the ELF file class used for executables and shared objects on this
- machine. */
-
-#ifndef _LINK_H
-# error "Never use <bits/elfclass.h> directly; include <link.h> instead."
-#endif
-
-#include <bits/wordsize.h>
-
-#define __ELF_NATIVE_CLASS __WORDSIZE
-
-/* Linux/Alpha is exceptional as it has .hash section with 64 bit entries. */
-typedef uint64_t Elf_Symndx;
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/epoll.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/epoll.h
deleted file mode 100644
index 0bbaae1..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/epoll.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_EPOLL_H
-# error "Never use <bits/epoll.h> directly; include <sys/epoll.h> instead."
-#endif
-
-/* Flags to be passed to epoll_create1. */
-enum
- {
- EPOLL_CLOEXEC = 010000000
-#define EPOLL_CLOEXEC EPOLL_CLOEXEC
- };
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/errno.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/errno.h
deleted file mode 100644
index dd2f5bf..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/errno.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Error constants. Linux/Alpha specific version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifdef _ERRNO_H
-
-# undef EDOM
-# undef EILSEQ
-# undef ERANGE
-# include <linux/errno.h>
-
-/* Linux has no ENOTSUP error code. */
-# define ENOTSUP EOPNOTSUPP
-
-# ifndef ECANCELED
-# define ECANCELED 131
-# endif
-
-/* Support for error codes to support robust mutexes was added later, too. */
-# ifndef EOWNERDEAD
-# define EOWNERDEAD 136
-# define ENOTRECOVERABLE 137
-# endif
-
-# ifndef ERFKILL
-# define ERFKILL 138
-# endif
-
-# ifndef EHWPOISON
-# define EHWPOISON 139
-# endif
-
-# ifndef __ASSEMBLER__
-/* Function to get address of global `errno' variable. */
-extern int *__errno_location (void) __THROW __attribute__ ((__const__));
-
-# if !defined _LIBC || defined _LIBC_REENTRANT
-/* When using threads, errno is a per-thread value. */
-# define errno (*__errno_location ())
-# endif
-# endif /* !__ASSEMBLER__ */
-#endif /* _ERRNO_H */
-
-#if !defined _ERRNO_H && defined __need_Emath
-/* This is ugly but the kernel header is not clean enough. We must
- define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
- defined. */
-# define EDOM 33 /* Math argument out of domain of function. */
-# define EILSEQ 116 /* Illegal byte sequence. */
-# define ERANGE 34 /* Math result not representable. */
-#endif /* !_ERRNO_H && __need_Emath */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h
deleted file mode 100644
index 2b9b272..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/eventfd.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_EVENTFD_H
-# error "Never use <bits/eventfd.h> directly; include <sys/eventfd.h> instead."
-#endif
-
-/* Flags for eventfd. */
-enum
- {
- EFD_SEMAPHORE = 000000001,
-#define EFD_SEMAPHORE EFD_SEMAPHORE
- EFD_CLOEXEC = 010000000,
-#define EFD_CLOEXEC EFD_CLOEXEC
- EFD_NONBLOCK = 000000004
-#define EFD_NONBLOCK EFD_NONBLOCK
- };
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
deleted file mode 100644
index db54cc8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-#define O_CREAT 01000 /* not fcntl */
-#define O_TRUNC 02000 /* not fcntl */
-#define O_EXCL 04000 /* not fcntl */
-#define O_NOCTTY 010000 /* not fcntl */
-
-#define O_NONBLOCK 00004
-#define O_APPEND 00010
-#define O_SYNC 020040000
-
-#define __O_DIRECTORY 0100000 /* Must be a directory. */
-#define __O_NOFOLLOW 0200000 /* Do not follow links. */
-#define __O_CLOEXEC 010000000 /* Set close_on_exec. */
-
-#define __O_DIRECT 02000000 /* Direct disk access. */
-#define __O_NOATIME 04000000 /* Do not set atime. */
-#define __O_PATH 040000000 /* Resolve pathname but do not open file. */
-#define __O_TMPFILE 0100100000 /* Atomically create nameless file. */
-
-/* Not necessary, files are always with 64bit off_t. */
-#define __O_LARGEFILE 0
-
-#define __O_DSYNC 040000 /* Synchronize data. */
-
-#define F_GETLK 7 /* Get record locking info. */
-#define F_SETLK 8 /* Set record locking info (non-blocking). */
-#define F_SETLKW 9 /* Set record locking info (blocking). */
-#define F_GETLK64 F_GETLK /* Get record locking info. */
-#define F_SETLK64 F_SETLK /* Set record locking info (non-blocking). */
-#define F_SETLKW64 F_SETLKW /* Set record locking info (blocking). */
-
-#define __F_SETOWN 5 /* Get owner of socket (receiver of SIGIO). */
-#define __F_GETOWN 6 /* Set owner of socket (receiver of SIGIO). */
-
-/* For posix fcntl() and `l_type' field of a `struct flock' for lockf() */
-#define F_RDLCK 1 /* Read lock. */
-#define F_WRLCK 2 /* Write lock. */
-#define F_UNLCK 8 /* Remove lock. */
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK 16 /* or 3 */
-#define F_SHLCK 32 /* or 4 */
-
-/* We don't need to support __USE_FILE_OFFSET64. */
-struct flock
- {
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- __off_t l_start; /* Offset where the lock begins. */
- __off_t l_len; /* Size of the locked area; zero means until EOF. */
- __pid_t l_pid; /* Process holding the lock. */
- };
-
-#ifdef __USE_LARGEFILE64
-struct flock64
- {
- short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
- short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
- __off64_t l_start; /* Offset where the lock begins. */
- __off64_t l_len; /* Size of the locked area; zero means until EOF. */
- __pid_t l_pid; /* Process holding the lock. */
- };
-#endif
-
-/* Include generic Linux declarations. */
-#include <bits/fcntl-linux.h>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/inotify.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/inotify.h
deleted file mode 100644
index 315f09c..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/inotify.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_INOTIFY_H
-# error "Never use <bits/inotify.h> directly; include <sys/inotify.h> instead."
-#endif
-
-/* Flags for the parameter of inotify_init1. */
-enum
- {
- IN_CLOEXEC = 010000000,
-#define IN_CLOEXEC IN_CLOEXEC
- IN_NONBLOCK = 000000004
-#define IN_NONBLOCK IN_NONBLOCK
- };
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
deleted file mode 100644
index 24e498e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_IOCTL_H
-# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead."
-#endif
-
-/* Use the definitions from the kernel header files. */
-#include <asm/ioctls.h>
-
-/* Oh well, this is necessary since the kernel data structure is
- different from the user-level version. */
-#undef TCGETS
-#undef TCSETS
-#undef TCSETSW
-#undef TCSETSF
-#define TCGETS _IOR ('t', 19, char[44])
-#define TCSETS _IOW ('t', 20, char[44])
-#define TCSETSW _IOW ('t', 21, char[44])
-#define TCSETSF _IOW ('t', 22, char[44])
-
-#include <linux/sockios.h>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/ipc.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
deleted file mode 100644
index 8ab80af..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_IPC_H
-# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Mode bits for `msgget', `semget', and `shmget'. */
-#define IPC_CREAT 01000 /* Create key if key does not exist. */
-#define IPC_EXCL 02000 /* Fail if key exists. */
-#define IPC_NOWAIT 04000 /* Return error on wait. */
-
-/* Control commands for `msgctl', `semctl', and `shmctl'. */
-#define IPC_RMID 0 /* Remove identifier. */
-#define IPC_SET 1 /* Set `ipc_perm' options. */
-#define IPC_STAT 2 /* Get `ipc_perm' options. */
-#ifdef __USE_GNU
-# define IPC_INFO 3 /* See ipcs. */
-#endif
-
-/* Special key values. */
-#define IPC_PRIVATE ((__key_t) 0) /* Private key. */
-
-
-/* Data structure used to pass permission information to IPC operations. */
-struct ipc_perm
- {
- __key_t __key; /* Key. */
- unsigned int uid; /* Owner's user ID. */
- unsigned int gid; /* Owner's group ID. */
- unsigned int cuid; /* Creator's user ID. */
- unsigned int cgid; /* Creator's group ID. */
- unsigned int mode; /* Read/write permission. */
- unsigned short int __seq; /* Sequence number. */
- unsigned short int __pad1;
- unsigned long int __glibc_reserved1;
- unsigned long int __glibc_reserved2;
- };
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h
deleted file mode 100644
index 650e5e3..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/mman.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Definitions for POSIX memory map interface. Linux/Alpha version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_MMAN_H
-# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
-#endif
-
-/* The following definitions basically come from the kernel headers.
- But the kernel header is not namespace clean. */
-
-#define __MAP_ANONYMOUS 0x10 /* Don't use a file. */
-
-/* These are Linux-specific. */
-#ifdef __USE_MISC
-# define MAP_GROWSDOWN 0x01000 /* Stack-like segment. */
-# define MAP_DENYWRITE 0x02000 /* ETXTBSY */
-# define MAP_EXECUTABLE 0x04000 /* Mark it as an executable. */
-# define MAP_LOCKED 0x08000 /* Lock the mapping. */
-# define MAP_NORESERVE 0x10000 /* Don't check for reservations. */
-# define MAP_POPULATE 0x20000 /* Populate (prefault) pagetables. */
-# define MAP_NONBLOCK 0x40000 /* Do not block on IO. */
-# define MAP_STACK 0x80000 /* Allocation is for a stack. */
-# define MAP_HUGETLB 0x100000 /* Create huge page mapping. */
-#endif
-
-/* Flags for `mlockall'. */
-#define MCL_CURRENT 8192
-#define MCL_FUTURE 16384
-
-#include <bits/mman-linux.h>
-
-/* Values that differ from standard <mman-linux.h>. For the most part newer
- values are shared, but older values are skewed. */
-
-#undef MAP_FIXED
-#define MAP_FIXED 0x100
-
-#undef MS_SYNC
-#define MS_SYNC 2
-#undef MS_INVALIDATE
-#define MS_INVALIDATE 4
-
-#ifdef __USE_BSD
-# undef MADV_DONTNEED
-# define MADV_DONTNEED 6
-#endif
-#ifdef __USE_XOPEN2K
-# undef POSIX_MADV_DONTNEED
-# define POSIX_MADV_DONTNEED 6
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h
deleted file mode 100644
index 3fd28ff..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/msq.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_MSG_H
-# error "Never use <bits/msq.h> directly; include <sys/msg.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Define options for message queue functions. */
-#define MSG_NOERROR 010000 /* no error if message is too big */
-#ifdef __USE_GNU
-# define MSG_EXCEPT 020000 /* recv any msg except of specified type */
-# define MSG_COPY 040000 /* copy (not remove) all queue messages */
-#endif
-
-/* Types used in the structure definition. */
-typedef unsigned long int msgqnum_t;
-typedef unsigned long int msglen_t;
-
-
-/* Structure of record for one message inside the kernel.
- The type `struct msg' is opaque. */
-struct msqid_ds
-{
- struct ipc_perm msg_perm; /* structure describing operation permission */
- __time_t msg_stime; /* time of last msgsnd command */
- __time_t msg_rtime; /* time of last msgrcv command */
- __time_t msg_ctime; /* time of last change */
- unsigned long int __msg_cbytes; /* current number of bytes on queue */
- msgqnum_t msg_qnum; /* number of messages currently on queue */
- msglen_t msg_qbytes; /* max number of bytes allowed on queue */
- __pid_t msg_lspid; /* pid of last msgsnd() */
- __pid_t msg_lrpid; /* pid of last msgrcv() */
- unsigned long int __glibc_reserved1;
- unsigned long int __glibc_reserved2;
-};
-
-#ifdef __USE_MISC
-
-# define msg_cbytes __msg_cbytes
-
-/* ipcs ctl commands */
-# define MSG_STAT 11
-# define MSG_INFO 12
-
-/* buffer for msgctl calls IPC_INFO, MSG_INFO */
-struct msginfo
- {
- int msgpool;
- int msgmap;
- int msgmax;
- int msgmnb;
- int msgmni;
- int msgssz;
- int msgtql;
- unsigned short int msgseg;
- };
-
-#endif /* __USE_MISC */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/netdb.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
deleted file mode 100644
index 2f39d70..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/netdb.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _NETDB_H
-# error "Never include <bits/netdb.h> directly; use <netdb.h> instead."
-#endif
-
-
-/* Description of data base entry for a single network. NOTE: here a
- poor assumption is made. The network number is expected to fit
- into an unsigned long int variable. */
-struct netent
-{
- char *n_name; /* Official name of network. */
- char **n_aliases; /* Alias list. */
- int n_addrtype; /* Net address type. */
- /* XXX We should probably use uint32_t for the field and ensure
- compatibility by adding appropriate padding. */
- unsigned long int n_net; /* Network number. */
-};
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h
deleted file mode 100644
index ac9367f..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/* Bit values & structures for resource limits. Alpha/Linux version.
- Copyright (C) 1994-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_RESOURCE_H
-# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Transmute defines to enumerations. The macro re-definitions are
- necessary because some programs want to test for operating system
- features with #ifdef RUSAGE_SELF. In ISO C the reflexive
- definition is a no-op. */
-
-/* Kinds of resource limit. */
-enum __rlimit_resource
-{
- /* Per-process CPU limit, in seconds. */
- RLIMIT_CPU = 0,
-#define RLIMIT_CPU RLIMIT_CPU
-
- /* Largest file that can be created, in bytes. */
- RLIMIT_FSIZE = 1,
-#define RLIMIT_FSIZE RLIMIT_FSIZE
-
- /* Maximum size of data segment, in bytes. */
- RLIMIT_DATA = 2,
-#define RLIMIT_DATA RLIMIT_DATA
-
- /* Maximum size of stack segment, in bytes. */
- RLIMIT_STACK = 3,
-#define RLIMIT_STACK RLIMIT_STACK
-
- /* Largest core file that can be created, in bytes. */
- RLIMIT_CORE = 4,
-#define RLIMIT_CORE RLIMIT_CORE
-
- /* Largest resident set size, in bytes.
- This affects swapping; processes that are exceeding their
- resident set size will be more likely to have physical memory
- taken from them. */
- __RLIMIT_RSS = 5,
-#define RLIMIT_RSS __RLIMIT_RSS
-
- /* Number of open files. */
- RLIMIT_NOFILE = 6,
- __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */
-#define RLIMIT_NOFILE RLIMIT_NOFILE
-#define RLIMIT_OFILE __RLIMIT_OFILE
-
- /* Address space limit (?) */
- RLIMIT_AS = 7,
-#define RLIMIT_AS RLIMIT_AS
-
- /* Number of processes. */
- __RLIMIT_NPROC = 8,
-#define RLIMIT_NPROC __RLIMIT_NPROC
-
- /* Locked-in-memory address space. */
- __RLIMIT_MEMLOCK = 9,
-#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
-
- /* Maximum number of file locks. */
- __RLIMIT_LOCKS = 10,
-#define RLIMIT_LOCKS __RLIMIT_LOCKS
-
- /* Maximum number of pending signals. */
- __RLIMIT_SIGPENDING = 11,
-#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
-
- /* Maximum bytes in POSIX message queues. */
- __RLIMIT_MSGQUEUE = 12,
-#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
-
- /* Maximum nice priority allowed to raise to.
- Nice levels 19 .. -20 correspond to 0 .. 39
- values of this resource limit. */
- __RLIMIT_NICE = 13,
-#define RLIMIT_NICE __RLIMIT_NICE
-
- /* Maximum realtime priority allowed for non-priviledged
- processes. */
- __RLIMIT_RTPRIO = 14,
-#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
-
- /* Maximum CPU time in µs that a process scheduled under a real-time
- scheduling policy may consume without making a blocking system
- call before being forcibly descheduled. */
- __RLIMIT_RTTIME = 15,
-#define RLIMIT_RTTIME __RLIMIT_RTTIME
-
- __RLIMIT_NLIMITS = 16,
- __RLIM_NLIMITS = __RLIMIT_NLIMITS
-#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
-#define RLIM_NLIMITS __RLIM_NLIMITS
-};
-
-/* Value to indicate that there is no limit. */
-#ifndef __USE_FILE_OFFSET64
-# define RLIM_INFINITY ((long int)(~0UL >> 1))
-#else
-# define RLIM_INFINITY 0x7fffffffffffffffLL
-#endif
-
-#ifdef __USE_LARGEFILE64
-# define RLIM64_INFINITY 0x7fffffffffffffffLL
-#endif
-
-/* We can represent all limits. */
-#define RLIM_SAVED_MAX RLIM_INFINITY
-#define RLIM_SAVED_CUR RLIM_INFINITY
-
-
-/* Type for resource quantity measurement. */
-#ifndef __USE_FILE_OFFSET64
-typedef __rlim_t rlim_t;
-#else
-typedef __rlim64_t rlim_t;
-#endif
-#ifdef __USE_LARGEFILE64
-typedef __rlim64_t rlim64_t;
-#endif
-
-struct rlimit
- {
- /* The current (soft) limit. */
- rlim_t rlim_cur;
- /* The hard limit. */
- rlim_t rlim_max;
- };
-
-#ifdef __USE_LARGEFILE64
-struct rlimit64
- {
- /* The current (soft) limit. */
- rlim64_t rlim_cur;
- /* The hard limit. */
- rlim64_t rlim_max;
- };
-#endif
-
-/* Whose usage statistics do you want? */
-enum __rusage_who
-{
- /* The calling process. */
- RUSAGE_SELF = 0,
-#define RUSAGE_SELF RUSAGE_SELF
-
- /* All of its terminated child processes. */
- RUSAGE_CHILDREN = -1
-#define RUSAGE_CHILDREN RUSAGE_CHILDREN
-
-#ifdef __USE_GNU
- ,
- /* The calling thread. */
- RUSAGE_THREAD = 1
-# define RUSAGE_THREAD RUSAGE_THREAD
- /* Name for the same functionality on Solaris. */
-# define RUSAGE_LWP RUSAGE_THREAD
-#endif
-};
-
-#define __need_timeval
-#include <bits/time.h> /* For `struct timeval'. */
-
-/* Structure which says how much of each resource has been used. */
-struct rusage
- {
- /* Total amount of user time used. */
- struct timeval ru_utime;
- /* Total amount of system time used. */
- struct timeval ru_stime;
- /* Maximum resident set size (in kilobytes). */
- long int ru_maxrss;
- /* Amount of sharing of text segment memory
- with other processes (kilobyte-seconds). */
- long int ru_ixrss;
- /* Amount of data segment memory used (kilobyte-seconds). */
- long int ru_idrss;
- /* Amount of stack memory used (kilobyte-seconds). */
- long int ru_isrss;
- /* Number of soft page faults (i.e. those serviced by reclaiming
- a page from the list of pages awaiting reallocation. */
- long int ru_minflt;
- /* Number of hard page faults (i.e. those that required I/O). */
- long int ru_majflt;
- /* Number of times a process was swapped out of physical memory. */
- long int ru_nswap;
- /* Number of input operations via the file system. Note: This
- and `ru_oublock' do not include operations with the cache. */
- long int ru_inblock;
- /* Number of output operations via the file system. */
- long int ru_oublock;
- /* Number of IPC messages sent. */
- long int ru_msgsnd;
- /* Number of IPC messages received. */
- long int ru_msgrcv;
- /* Number of signals delivered. */
- long int ru_nsignals;
- /* Number of voluntary context switches, i.e. because the process
- gave up the process before it had to (usually to wait for some
- resource to be available). */
- long int ru_nvcsw;
- /* Number of involuntary context switches, i.e. a higher priority process
- became runnable or the current process used up its time slice. */
- long int ru_nivcsw;
- };
-
-/* Priority limits. */
-#define PRIO_MIN -20 /* Minimum priority a process can have. */
-#define PRIO_MAX 20 /* Maximum priority a process can have. */
-
-/* The type of the WHICH argument to `getpriority' and `setpriority',
- indicating what flavor of entity the WHO argument specifies. */
-enum __priority_which
-{
- PRIO_PROCESS = 0, /* WHO is a process ID. */
-#define PRIO_PROCESS PRIO_PROCESS
- PRIO_PGRP = 1, /* WHO is a process group ID. */
-#define PRIO_PGRP PRIO_PGRP
- PRIO_USER = 2 /* WHO is a user ID. */
-#define PRIO_USER PRIO_USER
-};
-
-
-__BEGIN_DECLS
-
-#ifdef __USE_GNU
-/* Modify and return resource limits of a process atomically. */
-# ifndef __USE_FILE_OFFSET64
-extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
- const struct rlimit *__new_limit,
- struct rlimit *__old_limit) __THROW;
-# else
-# ifdef __REDIRECT_NTH
-extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
- enum __rlimit_resource __resource,
- const struct rlimit *__new_limit,
- struct rlimit *__old_limit), prlimit64);
-# else
-# define prlimit prlimit64
-# endif
-# endif
-# ifdef __USE_LARGEFILE64
-extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
- const struct rlimit64 *__new_limit,
- struct rlimit64 *__old_limit) __THROW;
-# endif
-#endif
-
-__END_DECLS
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/sem.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/sem.h
deleted file mode 100644
index 6bd5007..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/sem.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SEM_H
-# error "Never include <bits/sem.h> directly; use <sys/sem.h> instead."
-#endif
-
-#include <sys/types.h>
-
-/* Flags for `semop'. */
-#define SEM_UNDO 0x1000 /* undo the operation on exit */
-
-/* Commands for `semctl'. */
-#define GETPID 11 /* get sempid */
-#define GETVAL 12 /* get semval */
-#define GETALL 13 /* get all semval's */
-#define GETNCNT 14 /* get semncnt */
-#define GETZCNT 15 /* get semzcnt */
-#define SETVAL 16 /* set semval */
-#define SETALL 17 /* set all semval's */
-
-
-/* Data structure describing a set of semaphores. */
-struct semid_ds
-{
- struct ipc_perm sem_perm; /* operation permission struct */
- __time_t sem_otime; /* last semop() time */
- __time_t sem_ctime; /* last time changed by semctl() */
- unsigned long int sem_nsems; /* number of semaphores in set */
- unsigned long int __glibc_reserved1;
- unsigned long int __glibc_reserved2;
-};
-
-/* The user should define a union like the following to use it for arguments
- for `semctl'.
-
- union semun
- {
- int val; <= value for SETVAL
- struct semid_ds *buf; <= buffer for IPC_STAT & IPC_SET
- unsigned short int *array; <= array for GETALL & SETALL
- struct seminfo *__buf; <= buffer for IPC_INFO
- };
-
- Previous versions of this file used to define this union but this is
- incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether
- one must define the union or not. */
-#define _SEM_SEMUN_UNDEFINED 1
-
-#ifdef __USE_MISC
-
-/* ipcs ctl cmds */
-# define SEM_STAT 18
-# define SEM_INFO 19
-
-struct seminfo
-{
- int semmap;
- int semmni;
- int semmns;
- int semmnu;
- int semmsl;
- int semopm;
- int semume;
- int semusz;
- int semvmx;
- int semaem;
-};
-
-#endif /* __USE_MISC */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h
deleted file mode 100644
index 78751b0..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 1995-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SHM_H
-# error "Never include <bits/shm.h> directly; use <sys/shm.h> instead."
-#endif
-
-#include <bits/types.h>
-
-/* Permission flag for shmget. */
-#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
-#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
-
-/* Flags for `shmat'. */
-#define SHM_RDONLY 010000 /* attach read-only else read-write */
-#define SHM_RND 020000 /* round attach address to SHMLBA */
-#define SHM_REMAP 040000 /* take-over region on attach */
-#define SHM_EXEC 0100000 /* execution access */
-
-/* Commands for `shmctl'. */
-#define SHM_LOCK 11 /* lock segment (root only) */
-#define SHM_UNLOCK 12 /* unlock segment (root only) */
-
-__BEGIN_DECLS
-
-/* Segment low boundary address multiple. */
-#define SHMLBA (__getpagesize ())
-extern int __getpagesize (void) __THROW __attribute__ ((__const__));
-
-
-/* Type to count number of attaches. */
-typedef unsigned long int shmatt_t;
-
-/* Data structure describing a shared memory segment. */
-struct shmid_ds
- {
- struct ipc_perm shm_perm; /* operation permission struct */
- size_t shm_segsz; /* size of segment in bytes */
- __time_t shm_atime; /* time of last shmat() */
- __time_t shm_dtime; /* time of last shmdt() */
- __time_t shm_ctime; /* time of last change by shmctl() */
- __pid_t shm_cpid; /* pid of creator */
- __pid_t shm_lpid; /* pid of last shmop */
- shmatt_t shm_nattch; /* number of current attaches */
- unsigned long int __glibc_reserved1;
- unsigned long int __glibc_reserved2;
- };
-
-#ifdef __USE_MISC
-
-/* ipcs ctl commands */
-# define SHM_STAT 13
-# define SHM_INFO 14
-
-/* shm_mode upper byte flags */
-# define SHM_DEST 01000 /* segment will be destroyed on last detach */
-# define SHM_LOCKED 02000 /* segment will not be swapped */
-# define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */
-# define SHM_NORESERVE 010000 /* don't check for reservations */
-
-struct shminfo
- {
- unsigned long int shmmax;
- unsigned long int shmmin;
- unsigned long int shmmni;
- unsigned long int shmseg;
- unsigned long int shmall;
- unsigned long int __glibc_reserved1;
- unsigned long int __glibc_reserved2;
- unsigned long int __glibc_reserved3;
- unsigned long int __glibc_reserved4;
- };
-
-struct shm_info
- {
- int used_ids;
- unsigned long int shm_tot; /* total allocated shm */
- unsigned long int shm_rss; /* total resident shm */
- unsigned long int shm_swp; /* total swapped shm */
- unsigned long int swap_attempts;
- unsigned long int swap_successes;
- };
-
-#endif /* __USE_MISC */
-
-__END_DECLS
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
deleted file mode 100644
index 9fd37cd..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* The proper definitions for Linux/Alpha sigaction.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SIGNAL_H
-# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
-#endif
-
-/* Structure describing the action to be taken when a signal arrives. */
-struct sigaction
- {
- /* Signal handler. */
-#ifdef __USE_POSIX199309
- union
- {
- /* Used if SA_SIGINFO is not set. */
- __sighandler_t sa_handler;
- /* Used if SA_SIGINFO is set. */
- void (*sa_sigaction) (int, siginfo_t *, void *);
- }
- __sigaction_handler;
-# define sa_handler __sigaction_handler.sa_handler
-# define sa_sigaction __sigaction_handler.sa_sigaction
-#else
- __sighandler_t sa_handler;
-#endif
-
- /* Additional set of signals to be blocked. */
- __sigset_t sa_mask;
-
- /* Special flags. */
- unsigned int sa_flags;
- };
-
-/* Bits in `sa_flags'. */
-#define SA_NOCLDSTOP 0x00000004 /* Don't send SIGCHLD when children stop. */
-#define SA_NOCLDWAIT 0x00000020 /* Don't create zombie on child death. */
-#define SA_SIGINFO 0x00000040 /* Invoke signal-catching function with
- three arguments instead of one. */
-#if defined __USE_UNIX98 || defined __USE_MISC
-# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
-#endif
-#if defined __USE_UNIX98 || defined __USE_MISC || defined __USE_XOPEN2K8
-# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */
-# define SA_NODEFER 0x00000008 /* Don't automatically block the signal
- when its handler is being executed. */
-# define SA_RESETHAND 0x00000010 /* Reset to SIG_DFL on entry to handler. */
-#endif
-#ifdef __USE_MISC
-# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
-
-/* Some aliases for the SA_ constants. */
-# define SA_NOMASK SA_NODEFER
-# define SA_ONESHOT SA_RESETHAND
-# define SA_STACK SA_ONSTACK
-#endif
-
-/* Values for the HOW argument to `sigprocmask'. */
-#define SIG_BLOCK 1 /* Block signals. */
-#define SIG_UNBLOCK 2 /* Unblock signals. */
-#define SIG_SETMASK 3 /* Set the set of blocked signals. */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
deleted file mode 100644
index 9334ab8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/* siginfo_t, sigevent and constants. Linux/Alpha version.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#if !defined _SIGNAL_H && !defined __need_siginfo_t \
- && !defined __need_sigevent_t
-# error "Never include this file directly. Use <signal.h> instead"
-#endif
-
-#if (!defined __have_sigval_t \
- && (defined _SIGNAL_H || defined __need_siginfo_t \
- || defined __need_sigevent_t))
-# define __have_sigval_t 1
-
-/* Type for data associated with a signal. */
-typedef union sigval
- {
- int sival_int;
- void *sival_ptr;
- } sigval_t;
-#endif
-
-#if (!defined __have_siginfo_t \
- && (defined _SIGNAL_H || defined __need_siginfo_t))
-# define __have_siginfo_t 1
-
-# define __SI_MAX_SIZE 128
-# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4)
-
-typedef struct
- {
- int si_signo; /* Signal number. */
- int si_errno; /* If non-zero, an errno value associated with
- this signal, as defined in <errno.h>. */
- int si_code; /* Signal code. */
-
- union
- {
- int _pad[__SI_PAD_SIZE];
-
- /* kill(). */
- struct
- {
- __pid_t si_pid; /* Sending process ID. */
- __uid_t si_uid; /* Real user ID of sending process. */
- } _kill;
-
- /* POSIX.1b timers. */
- struct
- {
- int si_tid; /* Timer ID. */
- int si_overrun; /* Overrun count. */
- sigval_t si_sigval; /* Signal value. */
- } _timer;
-
- /* POSIX.1b signals. */
- struct
- {
- __pid_t si_pid; /* Sending process ID. */
- __uid_t si_uid; /* Real user ID of sending process. */
- sigval_t si_sigval; /* Signal value. */
- } _rt;
-
- /* SIGCHLD. */
- struct
- {
- __pid_t si_pid; /* Which child. */
- __uid_t si_uid; /* Real user ID of sending process. */
- int si_status; /* Exit value or signal. */
- __clock_t si_utime;
- __clock_t si_stime;
- } _sigchld;
-
- /* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */
- struct
- {
- void *si_addr; /* Faulting insn/memory ref. */
- int si_trapno; /* TRAP # which caused the signal. */
- short int si_addr_lsb; /* Valid LSB of the reported address. */
- } _sigfault;
-
- /* SIGPOLL. */
- struct
- {
- int si_band; /* Band event for SIGPOLL. */
- int si_fd;
- } _sigpoll;
-
- /* SIGSYS. */
- struct
- {
- void *_call_addr; /* Calling user insn. */
- int _syscall; /* Triggering system call number. */
- unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
- } _sigsys;
- } _sifields;
- } siginfo_t;
-
-
-/* X/Open requires some more fields with fixed names. */
-# define si_pid _sifields._kill.si_pid
-# define si_uid _sifields._kill.si_uid
-# define si_timerid _sifields._timer.si_tid
-# define si_overrun _sifields._timer.si_overrun
-# define si_status _sifields._sigchld.si_status
-# define si_utime _sifields._sigchld.si_utime
-# define si_stime _sifields._sigchld.si_stime
-# define si_value _sifields._rt.si_sigval
-# define si_int _sifields._rt.si_sigval.sival_int
-# define si_ptr _sifields._rt.si_sigval.sival_ptr
-# define si_addr _sifields._sigfault.si_addr
-# define si_trapno _sifields._sigfault.si_trapno
-# define si_addr_lsb _sifields._sigfault.si_addr_lsb
-# define si_band _sifields._sigpoll.si_band
-# define si_fd _sifields._sigpoll.si_fd
-# define si_call_addr _sifields._sigsys._call_addr
-# define si_syscall _sifields._sigsys._syscall
-# define si_arch _sifields._sigsys._arch
-
-
-/* Values for `si_code'. Positive values are reserved for kernel-generated
- signals. */
-enum
-{
- SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */
-# define SI_ASYNCNL SI_ASYNCNL
- SI_TKILL = -6, /* Sent by tkill. */
-# define SI_TKILL SI_TKILL
- SI_SIGIO, /* Sent by queued SIGIO. */
-# define SI_SIGIO SI_SIGIO
- SI_ASYNCIO, /* Sent by AIO completion. */
-# define SI_ASYNCIO SI_ASYNCIO
- SI_MESGQ, /* Sent by real time mesq state change. */
-# define SI_MESGQ SI_MESGQ
- SI_TIMER, /* Sent by timer expiration. */
-# define SI_TIMER SI_TIMER
- SI_QUEUE, /* Sent by sigqueue. */
-# define SI_QUEUE SI_QUEUE
- SI_USER, /* Sent by kill, sigsend, raise. */
-# define SI_USER SI_USER
- SI_KERNEL = 0x80 /* Send by kernel. */
-#define SI_KERNEL SI_KERNEL
-};
-
-
-/* `si_code' values for SIGILL signal. */
-enum
-{
- ILL_ILLOPC = 1, /* Illegal opcode. */
-# define ILL_ILLOPC ILL_ILLOPC
- ILL_ILLOPN, /* Illegal operand. */
-# define ILL_ILLOPN ILL_ILLOPN
- ILL_ILLADR, /* Illegal addressing mode. */
-# define ILL_ILLADR ILL_ILLADR
- ILL_ILLTRP, /* Illegal trap. */
-# define ILL_ILLTRP ILL_ILLTRP
- ILL_PRVOPC, /* Privileged opcode. */
-# define ILL_PRVOPC ILL_PRVOPC
- ILL_PRVREG, /* Privileged register. */
-# define ILL_PRVREG ILL_PRVREG
- ILL_COPROC, /* Coprocessor error. */
-# define ILL_COPROC ILL_COPROC
- ILL_BADSTK /* Internal stack error. */
-# define ILL_BADSTK ILL_BADSTK
-};
-
-/* `si_code' values for SIGFPE signal. */
-enum
-{
- FPE_INTDIV = 1, /* Integer divide by zero. */
-# define FPE_INTDIV FPE_INTDIV
- FPE_INTOVF, /* Integer overflow. */
-# define FPE_INTOVF FPE_INTOVF
- FPE_FLTDIV, /* Floating point divide by zero. */
-# define FPE_FLTDIV FPE_FLTDIV
- FPE_FLTOVF, /* Floating point overflow. */
-# define FPE_FLTOVF FPE_FLTOVF
- FPE_FLTUND, /* Floating point underflow. */
-# define FPE_FLTUND FPE_FLTUND
- FPE_FLTRES, /* Floating point inexact result. */
-# define FPE_FLTRES FPE_FLTRES
- FPE_FLTINV, /* Floating point invalid operation. */
-# define FPE_FLTINV FPE_FLTINV
- FPE_FLTSUB /* Subscript out of range. */
-# define FPE_FLTSUB FPE_FLTSUB
-};
-
-/* `si_code' values for SIGSEGV signal. */
-enum
-{
- SEGV_MAPERR = 1, /* Address not mapped to object. */
-# define SEGV_MAPERR SEGV_MAPERR
- SEGV_ACCERR /* Invalid permissions for mapped object. */
-# define SEGV_ACCERR SEGV_ACCERR
-};
-
-/* `si_code' values for SIGBUS signal. */
-enum
-{
- BUS_ADRALN = 1, /* Invalid address alignment. */
-# define BUS_ADRALN BUS_ADRALN
- BUS_ADRERR, /* Non-existant physical address. */
-# define BUS_ADRERR BUS_ADRERR
- BUS_OBJERR, /* Object specific hardware error. */
-# define BUS_OBJERR BUS_OBJERR
- BUS_MCEERR_AR, /* Hardware memory error: action required. */
-# define BUS_MCEERR_AR BUS_MCEERR_AR
- BUS_MCEERR_AO /* Hardware memory error: action optional. */
-# define BUS_MCEERR_AO BUS_MCEERR_AO
-};
-
-/* `si_code' values for SIGTRAP signal. */
-enum
-{
- TRAP_BRKPT = 1, /* Process breakpoint. */
-# define TRAP_BRKPT TRAP_BRKPT
- TRAP_TRACE /* Process trace trap. */
-# define TRAP_TRACE TRAP_TRACE
-};
-
-/* `si_code' values for SIGCHLD signal. */
-enum
-{
- CLD_EXITED = 1, /* Child has exited. */
-# define CLD_EXITED CLD_EXITED
- CLD_KILLED, /* Child was killed. */
-# define CLD_KILLED CLD_KILLED
- CLD_DUMPED, /* Child terminated abnormally. */
-# define CLD_DUMPED CLD_DUMPED
- CLD_TRAPPED, /* Traced child has trapped. */
-# define CLD_TRAPPED CLD_TRAPPED
- CLD_STOPPED, /* Child has stopped. */
-# define CLD_STOPPED CLD_STOPPED
- CLD_CONTINUED /* Stopped child has continued. */
-# define CLD_CONTINUED CLD_CONTINUED
-};
-
-/* `si_code' values for SIGPOLL signal. */
-enum
-{
- POLL_IN = 1, /* Data input available. */
-# define POLL_IN POLL_IN
- POLL_OUT, /* Output buffers available. */
-# define POLL_OUT POLL_OUT
- POLL_MSG, /* Input message available. */
-# define POLL_MSG POLL_MSG
- POLL_ERR, /* I/O error. */
-# define POLL_ERR POLL_ERR
- POLL_PRI, /* High priority input available. */
-# define POLL_PRI POLL_PRI
- POLL_HUP /* Device disconnected. */
-# define POLL_HUP POLL_HUP
-};
-
-# undef __need_siginfo_t
-#endif /* !have siginfo_t && (have _SIGNAL_H || need siginfo_t). */
-
-
-#if (defined _SIGNAL_H || defined __need_sigevent_t) \
- && !defined __have_sigevent_t
-# define __have_sigevent_t 1
-
-/* Structure to transport application-defined values with signals. */
-# define __SIGEV_MAX_SIZE 64
-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
-
-/* Forward declaration. */
-#ifndef __have_pthread_attr_t
-typedef union pthread_attr_t pthread_attr_t;
-# define __have_pthread_attr_t 1
-#endif
-
-typedef struct sigevent
- {
- sigval_t sigev_value;
- int sigev_signo;
- int sigev_notify;
-
- union
- {
- int _pad[__SIGEV_PAD_SIZE];
-
- /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
- thread to receive the signal. */
- __pid_t _tid;
-
- struct
- {
- void (*_function) (sigval_t); /* Function to start. */
- pthread_attr_t *_attribute; /* Thread attributes. */
- } _sigev_thread;
- } _sigev_un;
- } sigevent_t;
-
-/* POSIX names to access some of the members. */
-# define sigev_notify_function _sigev_un._sigev_thread._function
-# define sigev_notify_attributes _sigev_un._sigev_thread._attribute
-
-/* `sigev_notify' values. */
-enum
-{
- SIGEV_SIGNAL = 0, /* Notify via signal. */
-# define SIGEV_SIGNAL SIGEV_SIGNAL
- SIGEV_NONE, /* Other notification: meaningless. */
-# define SIGEV_NONE SIGEV_NONE
- SIGEV_THREAD, /* Deliver via thread creation. */
-# define SIGEV_THREAD SIGEV_THREAD
-
- SIGEV_THREAD_ID = 4 /* Send signal to specific thread. */
-#define SIGEV_THREAD_ID SIGEV_THREAD_ID
-};
-
-#endif /* have _SIGNAL_H. */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h
deleted file mode 100644
index c1b5e97..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SIGNALFD_H
-# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
-#endif
-
-/* Flags for signalfd. */
-enum
- {
- SFD_CLOEXEC = 010000000,
-#define SFD_CLOEXEC SFD_CLOEXEC
- SFD_NONBLOCK = 000000004
-#define SFD_NONBLOCK SFD_NONBLOCK
- };
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/signum.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/signum.h
deleted file mode 100644
index 2d8a321..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/signum.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Signal number definitions. Linux/Alpha version.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifdef _SIGNAL_H
-
-/* Fake signal functions. */
-#define SIG_ERR ((__sighandler_t) -1) /* Error return. */
-#define SIG_DFL ((__sighandler_t) 0) /* Default action. */
-#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */
-
-#ifdef __USE_UNIX98
-# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */
-#endif
-
-/*
- * Linux/AXP has different signal numbers that Linux/i386: I'm trying
- * to make it OSF/1 binary compatible, at least for normal binaries.
- */
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGEMT 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGBUS 10
-#define SIGSEGV 11
-#define SIGSYS 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGURG 16
-#define SIGSTOP 17
-#define SIGTSTP 18
-#define SIGCONT 19
-#define SIGCHLD 20
-#define SIGCLD SIGCHLD
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGIO 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGINFO 29
-#define SIGUSR1 30
-#define SIGUSR2 31
-
-#define SIGPOLL SIGIO
-#define SIGPWR SIGINFO
-#define SIGIOT SIGABRT
-
-#define _NSIG 65 /* Biggest signal number + 1. */
-
-#define SIGRTMIN (__libc_current_sigrtmin ())
-#define SIGRTMAX (__libc_current_sigrtmax ())
-
-/* These are the hard limits of the kernel. These values should not be
- used directly at user level. */
-#define __SIGRTMIN 32
-#define __SIGRTMAX (_NSIG - 1)
-
-#endif /* <signal.h> included. */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
deleted file mode 100644
index 7c2b7d5..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* sigstack, sigaltstack definitions.
- Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SIGNAL_H
-# error "Never include this file directly. Use <signal.h> instead"
-#endif
-
-
-/* Structure describing a signal stack (obsolete). */
-struct sigstack
- {
- __ptr_t ss_sp; /* Signal stack pointer. */
- int ss_onstack; /* Nonzero if executing on this stack. */
- };
-
-
-/* Possible values for `ss_flags.'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
-/* Minimum stack size for a signal handler. */
-#define MINSIGSTKSZ 4096
-
-/* System default stack size. */
-#define SIGSTKSZ 16384
-
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- __ptr_t ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h
deleted file mode 100644
index 69309c8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/socket_type.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Define enum __socket_type for Linux/Alpha.
- Copyright (C) 1991-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_SOCKET_H
-# error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead."
-#endif
-
-/* Types of sockets. */
-enum __socket_type
-{
- SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
- byte streams. */
-#define SOCK_STREAM SOCK_STREAM
- SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
- of fixed maximum length. */
-#define SOCK_DGRAM SOCK_DGRAM
- SOCK_RAW = 3, /* Raw protocol interface. */
-#define SOCK_RAW SOCK_RAW
- SOCK_RDM = 4, /* Reliably-delivered messages. */
-#define SOCK_RDM SOCK_RDM
- SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
- datagrams of fixed maximum length. */
-#define SOCK_SEQPACKET SOCK_SEQPACKET
- SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */
-#define SOCK_DCCP SOCK_DCCP
- SOCK_PACKET = 10, /* Linux specific way of getting packets
- at the dev level. For writing rarp and
- other similar things on the user level. */
-#define SOCK_PACKET SOCK_PACKET
-
- /* Flags to be ORed into the type parameter of socket and socketpair and
- used for the flags parameter of paccept. */
-
- SOCK_CLOEXEC = 010000000, /* Atomically set close-on-exec flag for the
- new descriptor(s). */
-#define SOCK_CLOEXEC SOCK_CLOEXEC
- SOCK_NONBLOCK = 0x40000000 /* Atomically mark descriptor(s) as
- non-blocking. */
-#define SOCK_NONBLOCK SOCK_NONBLOCK
-};
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h
deleted file mode 100644
index ec42d18..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#if !defined _SYS_STAT_H && !defined _FCNTL_H
-# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
-#endif
-
-#ifndef _BITS_STAT_H
-#define _BITS_STAT_H 1
-
-/* Versions of the `struct stat' data structure. */
-#define _STAT_VER_KERNEL 0
-#define _STAT_VER_GLIBC2 1
-#define _STAT_VER_GLIBC2_1 2
-#define _STAT_VER_KERNEL64 3
-#define _STAT_VER_GLIBC2_3_4 3
-#define _STAT_VER_LINUX 3
-#define _STAT_VER _STAT_VER_LINUX
-
-/* Versions of the `xmknod' interface. */
-#define _MKNOD_VER_LINUX 0
-
-
-/* Nanosecond resolution timestamps are stored in a format equivalent to
- 'struct timespec'. This is the type used whenever possible but the
- Unix namespace rules do not allow the identifier 'timespec' to appear
- in the <sys/stat.h> header. Therefore we have to handle the use of
- this header in strictly standard-compliant sources special.
-
- Use neat tidy anonymous unions and structures when possible. */
-
-#if defined __USE_MISC || defined __USE_XOPEN2K8
-# if __GNUC_PREREQ(3,3)
-# define __ST_TIME(X) \
- __extension__ union { \
- struct timespec st_##X##tim; \
- struct { \
- __time_t st_##X##time; \
- unsigned long st_##X##timensec; \
- }; \
- }
-# else
-# define __ST_TIME(X) struct timespec st_##X##tim
-# define st_atime st_atim.tv_sec
-# define st_mtime st_mtim.tv_sec
-# define st_ctime st_ctim.tv_sec
-# endif
-#else
-# define __ST_TIME(X) \
- __time_t st_##X##time; \
- unsigned long st_##X##timensec
-#endif
-
-
-struct stat
- {
- __dev_t st_dev; /* Device. */
-#ifdef __USE_FILE_OFFSET64
- __ino64_t st_ino; /* File serial number. */
-#else
- __ino_t st_ino; /* File serial number. */
- int __pad0; /* 64-bit st_ino. */
-#endif
- __dev_t st_rdev; /* Device number, if device. */
- __off_t st_size; /* Size of file, in bytes. */
-#ifdef __USE_FILE_OFFSET64
- __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
-#else
- __blkcnt_t st_blocks; /* Nr. 512-byte blocks allocated. */
- int __pad1; /* 64-bit st_blocks. */
-#endif
- __mode_t st_mode; /* File mode. */
- __uid_t st_uid; /* User ID of the file's owner. */
- __gid_t st_gid; /* Group ID of the file's group.*/
- __blksize_t st_blksize; /* Optimal block size for I/O. */
- __nlink_t st_nlink; /* Link count. */
- int __pad2; /* Real padding. */
- __ST_TIME(a); /* Time of last access. */
- __ST_TIME(m); /* Time of last modification. */
- __ST_TIME(c); /* Time of last status change. */
- long __glibc_reserved[3];
- };
-
-#ifdef __USE_LARGEFILE64
-/* Note stat64 is the same shape as stat. */
-struct stat64
- {
- __dev_t st_dev; /* Device. */
- __ino64_t st_ino; /* File serial number. */
- __dev_t st_rdev; /* Device number, if device. */
- __off_t st_size; /* Size of file, in bytes. */
- __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
- __mode_t st_mode; /* File mode. */
- __uid_t st_uid; /* User ID of the file's owner. */
- __gid_t st_gid; /* Group ID of the file's group.*/
- __blksize_t st_blksize; /* Optimal block size for I/O. */
- __nlink_t st_nlink; /* Link count. */
- int __pad0; /* Real padding. */
- __ST_TIME(a); /* Time of last access. */
- __ST_TIME(m); /* Time of last modification. */
- __ST_TIME(c); /* Time of last status change. */
- long __glibc_reserved[3];
- };
-#endif
-
-#undef __ST_TIME
-
-/* Tell code we have these members. */
-#define _STATBUF_ST_BLKSIZE
-#define _STATBUF_ST_RDEV
-#define _STATBUF_ST_NSEC
-
-/* Encoding of the file mode. */
-
-#define __S_IFMT 0170000 /* These bits determine file type. */
-
-/* File types. */
-#define __S_IFDIR 0040000 /* Directory. */
-#define __S_IFCHR 0020000 /* Character device. */
-#define __S_IFBLK 0060000 /* Block device. */
-#define __S_IFREG 0100000 /* Regular file. */
-#define __S_IFIFO 0010000 /* FIFO. */
-#define __S_IFLNK 0120000 /* Symbolic link. */
-#define __S_IFSOCK 0140000 /* Socket. */
-
-/* POSIX.1b objects. Note that these macros always evaluate to zero. But
- they do it by enforcing the correct use of the macros. */
-#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
-
-/* Protection bits. */
-
-#define __S_ISUID 04000 /* Set user ID on execution. */
-#define __S_ISGID 02000 /* Set group ID on execution. */
-#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */
-#define __S_IREAD 0400 /* Read by owner. */
-#define __S_IWRITE 0200 /* Write by owner. */
-#define __S_IEXEC 0100 /* Execute by owner. */
-
-#ifdef __USE_ATFILE
-# define UTIME_NOW ((1l << 30) - 1l)
-# define UTIME_OMIT ((1l << 30) - 2l)
-#endif
-
-#endif /* bits/stat.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/statfs.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
deleted file mode 100644
index a3dfe0d..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/statfs.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_STATFS_H
-# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead."
-#endif
-
-#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t. */
-
-struct statfs
- {
- int f_type;
- int f_bsize;
-#ifndef __USE_FILE_OFFSET64
- __fsblkcnt_t f_blocks;
- __fsblkcnt_t f_bfree;
- __fsblkcnt_t f_bavail;
- __fsfilcnt_t f_files;
- __fsfilcnt_t f_ffree;
-#else
- __fsblkcnt64_t f_blocks;
- __fsblkcnt64_t f_bfree;
- __fsblkcnt64_t f_bavail;
- __fsfilcnt64_t f_files;
- __fsfilcnt64_t f_ffree;
-#endif
- __fsid_t f_fsid;
- int f_namelen;
- int f_frsize;
- int f_flags;
- int f_spare[4];
- };
-
-#ifdef __USE_LARGEFILE64
-struct statfs64
- {
- int f_type;
- int f_bsize;
- __fsblkcnt64_t f_blocks;
- __fsblkcnt64_t f_bfree;
- __fsblkcnt64_t f_bavail;
- __fsfilcnt64_t f_files;
- __fsfilcnt64_t f_ffree;
- __fsid_t f_fsid;
- int f_namelen;
- int f_frsize;
- int f_flags;
- int f_spare[4];
- };
-#endif
-
-/* Tell code we have this member. */
-#define _STATFS_F_NAMELEN
-#define _STATFS_F_FRSIZE
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/termios.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/termios.h
deleted file mode 100644
index 4310585..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/termios.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/* termios type and macro definitions. Linux version.
- Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _TERMIOS_H
-# error "Never include <bits/termios.h> directly; use <termios.h> instead."
-#endif
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 32
-struct termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[NCCS]; /* control characters */
- cc_t c_line; /* line discipline (== c_cc[33]) */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
-#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
- };
-
-/* c_cc characters */
-#define VEOF 0
-#define VEOL 1
-#define VEOL2 2
-#define VERASE 3
-#define VWERASE 4
-#define VKILL 5
-#define VREPRINT 6
-#define VSWTC 7
-#define VINTR 8
-#define VQUIT 9
-#define VSUSP 10
-#define VSTART 12
-#define VSTOP 13
-#define VLNEXT 14
-#define VDISCARD 15
-#define VMIN 16
-#define VTIME 17
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IXON 0001000
-#define IXOFF 0002000
-#ifdef __USE_BSD
- /* POSIX.1 doesn't want these... */
-# define IXANY 0004000
-# define IUCLC 0010000
-# define IMAXBEL 0020000
-# define IUTF8 0040000
-#endif
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define ONLCR 0000002
-#define OLCUC 0000004
-
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-
-#define OFILL 00000100
-#define OFDEL 00000200
-#if defined __USE_MISC || defined __USE_XOPEN
-# define NLDLY 00001400
-# define NL0 00000000
-# define NL1 00000400
-# define NL2 00001000
-# define NL3 00001400
-# define TABDLY 00006000
-# define TAB0 00000000
-# define TAB1 00002000
-# define TAB2 00004000
-# define TAB3 00006000
-# define CRDLY 00030000
-# define CR0 00000000
-# define CR1 00010000
-# define CR2 00020000
-# define CR3 00030000
-# define FFDLY 00040000
-# define FF0 00000000
-# define FF1 00040000
-# define BSDLY 00100000
-# define BS0 00000000
-# define BS1 00100000
-#endif
-
-#define VTDLY 00200000
-#define VT0 00000000
-#define VT1 00200000
-
-#ifdef __USE_MISC
-# define XTABS 01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */
-#endif
-
-/* c_cflag bit meaning */
-#ifdef __USE_MISC
-# define CBAUD 0000037
-#endif
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#ifdef __USE_MISC
-# define EXTA B19200
-# define EXTB B38400
-# define CBAUDEX 0000000
-#endif
-#define B57600 00020
-#define B115200 00021
-#define B230400 00022
-#define B460800 00023
-#define B500000 00024
-#define B576000 00025
-#define B921600 00026
-#define B1000000 00027
-#define B1152000 00030
-#define B1500000 00031
-#define B2000000 00032
-#define B2500000 00033
-#define B3000000 00034
-#define B3500000 00035
-#define B4000000 00036
-
-#define __MAX_BAUD B4000000
-
-#define CSIZE 00001400
-#define CS5 00000000
-#define CS6 00000400
-#define CS7 00001000
-#define CS8 00001400
-
-#define CSTOPB 00002000
-#define CREAD 00004000
-#define PARENB 00010000
-#define PARODD 00020000
-#define HUPCL 00040000
-
-#define CLOCAL 00100000
-#ifdef __USE_MISC
-# define CMSPAR 010000000000 /* mark or space (stick) parity */
-# define CRTSCTS 020000000000 /* flow control */
-#endif
-
-/* c_lflag bits */
-#define ISIG 0x00000080
-#define ICANON 0x00000100
-#if defined __USE_MISC || defined __USE_XOPEN
-# define XCASE 0x00004000
-#endif
-#define ECHO 0x00000008
-#define ECHOE 0x00000002
-#define ECHOK 0x00000004
-#define ECHONL 0x00000010
-#define NOFLSH 0x80000000
-#define TOSTOP 0x00400000
-#ifdef __USE_MISC
-# define ECHOCTL 0x00000040
-# define ECHOPRT 0x00000020
-# define ECHOKE 0x00000001
-# define FLUSHO 0x00800000
-# define PENDIN 0x20000000
-#endif
-#define IEXTEN 0x00000400
-
-/* Values for the ACTION argument to `tcflow'. */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* Values for the QUEUE_SELECTOR argument to `tcflush'. */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-
-#define _IOT_termios /* Hurd ioctl type field. */ \
- _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h
deleted file mode 100644
index f7c62e2..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/timerfd.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2008-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_TIMERFD_H
-# error "Never use <bits/timerfd.h> directly; include <sys/timerfd.h> instead."
-#endif
-
-/* Bits to be set in the FLAGS parameter of `timerfd_create'. */
-enum
- {
- TFD_CLOEXEC = 010000000,
-#define TFD_CLOEXEC TFD_CLOEXEC
- TFD_NONBLOCK = 000000004
-#define TFD_NONBLOCK TFD_NONBLOCK
- };
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
deleted file mode 100644
index 25615cd..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* bits/typesizes.h -- underlying types for *_t. Linux/Alpha version.
- Copyright (C) 2002-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_TYPES_H
-# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
-#endif
-
-#ifndef _BITS_TYPESIZES_H
-#define _BITS_TYPESIZES_H 1
-
-/* See <bits/types.h> for the meaning of these macros. This file exists so
- that <bits/types.h> need not vary across different GNU platforms. */
-
-#define __DEV_T_TYPE __U64_TYPE
-#define __UID_T_TYPE __U32_TYPE
-#define __GID_T_TYPE __U32_TYPE
-#define __INO_T_TYPE __U32_TYPE
-#define __INO64_T_TYPE __U64_TYPE
-#define __MODE_T_TYPE __U32_TYPE
-#define __NLINK_T_TYPE __U32_TYPE
-#define __OFF_T_TYPE __SLONGWORD_TYPE
-#define __OFF64_T_TYPE __S64_TYPE
-#define __PID_T_TYPE __S32_TYPE
-#define __RLIM_T_TYPE __ULONGWORD_TYPE
-#define __RLIM64_T_TYPE __U64_TYPE
-#define __BLKCNT_T_TYPE __U32_TYPE
-#define __BLKCNT64_T_TYPE __U64_TYPE
-#define __FSBLKCNT_T_TYPE __S32_TYPE
-#define __FSBLKCNT64_T_TYPE __S64_TYPE
-#define __FSFILCNT_T_TYPE __U32_TYPE
-#define __FSFILCNT64_T_TYPE __U64_TYPE
-#define __ID_T_TYPE __U32_TYPE
-#define __CLOCK_T_TYPE __SLONGWORD_TYPE
-#define __TIME_T_TYPE __SLONGWORD_TYPE
-#define __USECONDS_T_TYPE __U32_TYPE
-#define __SUSECONDS_T_TYPE __S64_TYPE
-#define __DADDR_T_TYPE __S32_TYPE
-#define __KEY_T_TYPE __S32_TYPE
-#define __CLOCKID_T_TYPE __S32_TYPE
-#define __TIMER_T_TYPE void *
-#define __BLKSIZE_T_TYPE __U32_TYPE
-#define __FSID_T_TYPE struct { int __val[2]; }
-#define __SSIZE_T_TYPE __SWORD_TYPE
-#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
-#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
-#define __FSWORD_T_TYPE __S32_TYPE
-
-/* Tell the libc code that off_t and off64_t are actually the same type
- for all ABI purposes, even if possibly expressed as different base types
- for C type-checking purposes. */
-#define __OFF_T_MATCHES_OFF64_T 1
-
-/* Number of descriptors that can fit in an `fd_set'. */
-#define __FD_SETSIZE 1024
-
-
-#endif /* bits/typesizes.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
deleted file mode 100644
index 6c2191e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/wordsize.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1999-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __WORDSIZE 64
-
-#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
-
-/* Signal that we didn't used to have a `long double'. The changes all
- the `long double' function variants to be redirects to the double
- functions. */
-# define __LONG_DOUBLE_MATH_OPTIONAL 1
-# ifndef __LONG_DOUBLE_128__
-# define __NO_LONG_DOUBLE_MATH 1
-# endif
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/brk.S b/ports/sysdeps/unix/sysv/linux/alpha/brk.S
deleted file mode 100644
index b8d658a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/brk.S
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Brendan Kehoe <brendan@zen.org>, 1993.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* __brk is a special syscall under Linux since it never returns an
- error. Instead, the error condition is indicated by returning the old
- break value (instead of the new, requested one). */
-
-#include <sysdep.h>
-#define _ERRNO_H
-#include <bits/errno.h>
-
-#ifdef PIC
-.section .bss
- .align 3
- .globl __curbrk
-__curbrk: .skip 8
- .type __curbrk,@object
- .size __curbrk,8
-#else
-.comm __curbrk, 8
-#endif
-
- .text
- .align 4
- .globl __brk
- .ent __brk
- .usepv __brk, std
-
- cfi_startproc
-__brk:
- ldgp gp, 0(t12)
- subq sp, 16, sp
- cfi_adjust_cfa_offset (16)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
-
- /* Save the requested brk across the system call. */
- stq a0, 0(sp)
-
- ldiq v0, __NR_brk
- call_pal PAL_callsys
-
- ldq a0, 0(sp)
- addq sp, 16, sp
- cfi_adjust_cfa_offset (-16)
-
- /* Be prepared for an OSF-style brk. */
- bne a3, SYSCALL_ERROR_LABEL
- beq v0, $ok
-
- /* Correctly handle the brk(0) query case. */
- cmoveq a0, v0, a0
- xor a0, v0, t0
- lda v0, ENOMEM
- bne t0, SYSCALL_ERROR_LABEL
-
- /* Update __curbrk and return cleanly. */
- lda v0, 0
-$ok: stq a0, __curbrk
- ret
-
-PSEUDO_END(__brk)
- cfi_endproc
-
-weak_alias (__brk, brk)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/clone.S b/ports/sysdeps/unix/sysv/linux/alpha/clone.S
deleted file mode 100644
index c5c3300..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/clone.S
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@tamu.edu>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* clone() is even more special than fork() as it mucks with stacks
- and invokes a function in the right context after its all over. */
-
-#include <sysdep.h>
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
-#define CLONE_VM 0x00000100
-#define CLONE_THREAD 0x00010000
-
-/* int clone(int (*fn)(void *arg), void *child_stack, int flags,
- void *arg, pid_t *ptid, void *tls, pid_t *ctid);
-
- Note that everything past ARG is technically optional, based
- on FLAGS, and that CTID is arg 7, and thus is on the stack.
- However, since a load from top-of-stack better be legal always,
- we don't bother checking FLAGS. */
-
- .text
- .align 4
- .globl __clone
- .ent __clone
- .usepv __clone, USEPV_PROF
-
- cfi_startproc
-__clone:
-#ifdef PROF
- ldgp gp,0(pv)
- lda AT, _mcount
- jsr AT, (AT), _mcount
-#endif
-
- /* Sanity check arguments. */
- ldiq v0, EINVAL
- beq a0, SYSCALL_ERROR_LABEL /* no NULL function pointers */
- beq a1, SYSCALL_ERROR_LABEL /* no NULL stack pointers */
-
- /* Save the fn ptr and arg on the new stack. */
- subq a1, 32, a1
- stq a0, 0(a1)
- stq a3, 8(a1)
-#ifdef RESET_PID
- stq a2, 16(a1)
-#endif
-
- /* The syscall is of the form clone(flags, usp, ptid, ctid, tls).
- Shift the flags, ptid, ctid, tls arguments into place; the
- child_stack argument is already correct. */
- mov a2, a0
- mov a4, a2
- ldq a3, 0(sp)
- mov a5, a4
-
- /* Do the system call. */
- ldiq v0, __NR_clone
- call_pal PAL_callsys
-
- bne a3, SYSCALL_ERROR_LABEL
- beq v0, thread_start
-
- /* Successful return from the parent. */
- ret
-
-PSEUDO_END(__clone)
- cfi_endproc
-
-/* Load up the arguments to the function. Put this block of code in
- its own function so that we can terminate the stack trace with our
- debug info. */
-
- .ent thread_start
- cfi_startproc
-thread_start:
- mov 0, fp
- cfi_def_cfa_register(fp)
- cfi_undefined(ra)
-
-#ifdef RESET_PID
- /* Check and see if we need to reset the PID. */
- ldq t0, 16(sp)
- lda t1, CLONE_THREAD
- and t0, t1, t2
- beq t2, 2f
-1:
-#endif
-
- /* Load up the arguments. */
- ldq pv, 0(sp)
- ldq a0, 8(sp)
- addq sp, 32, sp
-
- /* Call the user's function. */
- jsr ra, (pv)
- ldgp gp, 0(ra)
-
- /* Call _exit rather than doing it inline for breakpoint purposes. */
- mov v0, a0
-#ifdef PIC
- bsr ra, HIDDEN_JUMPTARGET(_exit) !samegp
-#else
- jsr ra, HIDDEN_JUMPTARGET(_exit)
-#endif
-
- /* Die horribly. */
- halt
-
-#ifdef RESET_PID
-2:
- rduniq
- lda t1, CLONE_VM
- mov v0, s0
- lda v0, -1
- and t0, t1, t2
- bne t2, 3f
- lda v0, __NR_getxpid
- callsys
-3:
- stl v0, PID_OFFSET(s0)
- stl v0, TID_OFFSET(s0)
- br 1b
-#endif
- cfi_endproc
- .end thread_start
-
-weak_alias (__clone, clone)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/configure b/ports/sysdeps/unix/sysv/linux/alpha/configure
deleted file mode 100644
index 9afb587..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/configure
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
- # Local configure fragment for sysdeps/unix/sysv/linux/alpha
-
-# We did historically export the unwinder from glibc.
-libc_cv_gcc_unwind_find_fde=yes
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/configure.ac b/ports/sysdeps/unix/sysv/linux/alpha/configure.ac
deleted file mode 100644
index a8b6996..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/configure.ac
+++ /dev/null
@@ -1,5 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/unix/sysv/linux/alpha
-
-# We did historically export the unwinder from glibc.
-libc_cv_gcc_unwind_find_fde=yes
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/creat.c b/ports/sysdeps/unix/sysv/linux/alpha/creat.c
deleted file mode 100644
index 9e661ba..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/creat.c
+++ /dev/null
@@ -1,8 +0,0 @@
-/* sysdeps/unix/sysv/linux/wordsize-64/syscalls.list defines creat and
- creat64 for most linux targets, but on alpha creat is not a syscall.
- If we do nothing, we'll wind up with creat64 being undefined, because
- the syscalls.list assumes the creat->creat64 alias was created. We
- could have overridden that with a create64.c, but we might as well do
- the right thing and set up creat64 as an alias. */
-#include <io/creat.c>
-weak_alias(__libc_creat, creat64)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/dl-auxv.h b/ports/sysdeps/unix/sysv/linux/alpha/dl-auxv.h
deleted file mode 100644
index f58cf54..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/dl-auxv.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Auxiliary vector processing for Linux/Alpha.
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Scan the Aux Vector for the cache shape entries. */
-
-extern long __libc_alpha_cache_shape[4];
-
-#define DL_PLATFORM_AUXV \
- case AT_L1I_CACHESHAPE: \
- __libc_alpha_cache_shape[0] = av->a_un.a_val; \
- break; \
- case AT_L1D_CACHESHAPE: \
- __libc_alpha_cache_shape[1] = av->a_un.a_val; \
- break; \
- case AT_L2_CACHESHAPE: \
- __libc_alpha_cache_shape[2] = av->a_un.a_val; \
- break; \
- case AT_L3_CACHESHAPE: \
- __libc_alpha_cache_shape[3] = av->a_un.a_val; \
- break;
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/dl-brk.S b/ports/sysdeps/unix/sysv/linux/alpha/dl-brk.S
deleted file mode 100644
index eeb9654..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/dl-brk.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <brk.S>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c b/ports/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c
deleted file mode 100644
index 41e83bc..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/dl-fxstatat64.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* In this implementation we do not really care whether the call fails
- because of missing kernel support since we do not even call the
- function in this case. */
-/* For Alpha, in <kernel-features.h> we redefine the default definition of
- when __ASSUME_ATFCTS is present. The hack must wait until after that. */
-#include <kernel-features.h>
-#undef __ASSUME_ATFCTS
-#define __ASSUME_ATFCTS 1
-#include "fxstatat.c"
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/dl-support.c b/ports/sysdeps/unix/sysv/linux/alpha/dl-support.c
deleted file mode 100644
index 2902176..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/dl-support.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "dl-auxv.h"
-#include <elf/dl-support.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c b/ports/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c
deleted file mode 100644
index 5d0867a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/dl-sysdep.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "dl-auxv.h"
-
-long __libc_alpha_cache_shape[4] = { -2, -2, -2, -2 };
-
-#include <sysdeps/unix/sysv/linux/dl-sysdep.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fdatasync.c b/ports/sysdeps/unix/sysv/linux/alpha/fdatasync.c
deleted file mode 100644
index 7476961..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fdatasync.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* fdatasync -- synchronize at least the data part of a file with
- the underlying media. Linux version.
-
- Copyright (C) 2007-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <unistd.h>
-
-#include <sysdep-cancel.h>
-#include <sys/syscall.h>
-
-#include <kernel-features.h>
-
-static int
-do_fdatasync (int fd)
-{
-#ifdef __ASSUME_FDATASYNC
- return INLINE_SYSCALL (fdatasync, 1, fd);
-#elif defined __NR_fdatasync
- static int __have_no_fdatasync;
-
- if (!__builtin_expect (__have_no_fdatasync, 0))
- {
- int result = INLINE_SYSCALL (fdatasync, 1, fd);
- if (__builtin_expect (result, 0) != -1 || errno != ENOSYS)
- return result;
-
- __have_no_fdatasync = 1;
- }
-#endif
- return INLINE_SYSCALL (fsync, 1, fd);
-}
-
-int
-__fdatasync (int fd)
-{
- if (SINGLE_THREAD_P)
- return do_fdatasync (fd);
-
- int oldtype = LIBC_CANCEL_ASYNC ();
-
- int result = do_fdatasync (fd);
-
- LIBC_CANCEL_RESET (oldtype);
-
- return result;
-}
-
-weak_alias (__fdatasync, fdatasync)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fpu/Implies b/ports/sysdeps/unix/sysv/linux/alpha/fpu/Implies
deleted file mode 100644
index d76f511..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fpu/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-# Override ldbl-opt with alpha specific routines.
-alpha/fpu
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S b/ports/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S
deleted file mode 100644
index 3db92d5..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fraiseexcpt.S
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include "kernel_sysinfo.h"
-
-
- .text
-
-ENTRY(__feraiseexcept)
- cfi_startproc
- PSEUDO_PROLOGUE
-
- lda sp, -16(sp)
- cfi_adjust_cfa_offset(16)
-
- ldi v0, __NR_osf_setsysinfo
- stq a0, 0(sp)
- mov sp, a1
- ldi a0, SSI_IEEE_RAISE_EXCEPTION
- call_pal PAL_callsys
-
- lda sp, 16(sp)
- cfi_adjust_cfa_offset(-16)
-
- /* Here in libm we can't use SYSCALL_ERROR_LABEL. Nor is it clear
- that we'd want to set errno anyway. All we're required to do is
- return non-zero on error. Which is exactly A3. */
- mov a3, v0
- ret
-
-END(__feraiseexcept)
- cfi_endproc
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feraiseexcept, __old_feraiseexcept)
-compat_symbol (libm, __old_feraiseexcept, feraiseexcept, GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, __feraiseexcept, feraiseexcept, GLIBC_2_2);
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fstatfs64.c b/ports/sysdeps/unix/sysv/linux/alpha/fstatfs64.c
deleted file mode 100644
index 5639959..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fstatfs64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/fstatfs64.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fstatvfs.c b/ports/sysdeps/unix/sysv/linux/alpha/fstatvfs.c
deleted file mode 100644
index 92e7723..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fstatvfs.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/fstatvfs.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c b/ports/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c
deleted file mode 100644
index 0f1e710..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fstatvfs64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/fstatvfs64.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fxstat.c b/ports/sysdeps/unix/sysv/linux/alpha/fxstat.c
deleted file mode 100644
index c02d75e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fxstat.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* fxstat using old-style Unix stat system call.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __fxstat64 __fxstat64_disable
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <xstatconv.h>
-
-#undef __fxstat64
-
-
-/* Get information about the file NAME in BUF. */
-int
-__fxstat (int vers, int fd, struct stat *buf)
-{
- INTERNAL_SYSCALL_DECL (err);
- int result;
- struct kernel_stat kbuf;
-
- if (vers == _STAT_VER_KERNEL64)
- {
- result = INTERNAL_SYSCALL (fstat64, err, 2, fd, buf);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return result;
- __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
- return -1;
- }
-
- result = INTERNAL_SYSCALL (fstat, err, 2, fd, &kbuf);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return __xstat_conv (vers, &kbuf, buf);
- __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
- return -1;
-}
-hidden_def (__fxstat)
-weak_alias (__fxstat, _fxstat);
-strong_alias (__fxstat, __fxstat64);
-hidden_ver (__fxstat, __fxstat64)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c b/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c
deleted file mode 100644
index a731206..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/fxstatat.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __fxstatat64 __fxstatat64_disable
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <xstatconv.h>
-
-#undef __fxstatat64
-
-#ifdef __ASSUME_ATFCTS
-# define __have_atfcts 1
-#endif
-
-/* Get information about the file NAME in BUF. */
-int
-__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
-{
- INTERNAL_SYSCALL_DECL (err);
- int result, errno_out;
-
- /* ??? The __fxstatat entry point is new enough that it must be using
- vers == _STAT_VER_KERNEL64. For the benefit of dl-fxstatat64.c, we
- cannot actually check this, lest the compiler not optimize the rest
- of the function away. */
-
-#ifdef __NR_fstatat64
- if (__have_atfcts >= 0)
- {
- result = INTERNAL_SYSCALL (fstatat64, err, 4, fd, file, st, flag);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return result;
- errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
-#ifndef __ASSUME_ATFCTS
- if (errno_out == ENOSYS)
- __have_atfcts = -1;
- else
-#endif
- {
- __set_errno (errno_out);
- return -1;
- }
- }
-#endif /* __NR_fstatat64 */
-
- if (flag & ~AT_SYMLINK_NOFOLLOW)
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- char *buf = NULL;
-
- if (fd != AT_FDCWD && file[0] != '/')
- {
- size_t filelen = strlen (file);
- if (__builtin_expect (filelen == 0, 0))
- {
- __set_errno (ENOENT);
- return -1;
- }
-
- static const char procfd[] = "/proc/self/fd/%d/%s";
- /* Buffer for the path name we are going to use. It consists of
- - the string /proc/self/fd/
- - the file descriptor number
- - the file name provided.
- The final NUL is included in the sizeof. A bit of overhead
- due to the format elements compensates for possible negative
- numbers. */
- size_t buflen = sizeof (procfd) + sizeof (int) * 3 + filelen;
- buf = alloca (buflen);
-
- __snprintf (buf, buflen, procfd, fd, file);
- file = buf;
- }
-
- if (flag & AT_SYMLINK_NOFOLLOW)
- result = INTERNAL_SYSCALL (lstat64, err, 2, file, st);
- else
- result = INTERNAL_SYSCALL (stat64, err, 2, file, st);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return result;
-
- errno_out = INTERNAL_SYSCALL_ERRNO (result, err);
- __atfct_seterrno (errno_out, fd, buf);
-
- return -1;
-}
-libc_hidden_def (__fxstatat)
-strong_alias (__fxstatat, __fxstatat64);
-libc_hidden_ver(__fxstatat, __fxstatat64);
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/getclktck.c b/ports/sysdeps/unix/sysv/linux/alpha/getclktck.c
deleted file mode 100644
index 6636bbe..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/getclktck.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define SYSTEM_CLK_TCK 1024
-#include <sysdeps/unix/sysv/linux/getclktck.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/getcontext.S b/ports/sysdeps/unix/sysv/linux/alpha/getcontext.S
deleted file mode 100644
index eb1046a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/getcontext.S
+++ /dev/null
@@ -1,187 +0,0 @@
-/* Save current context.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <ucontext-offsets.h>
-
-/* ??? Should be a better place for this that's asm friendly. */
-#define SIG_BLOCK 1
-
-
-ENTRY (__getcontext)
-#ifdef PROF
- ldgp gp, 0(pv)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#else
- .prologue 0
-#endif
-
- bsr $0, __getcontext_x
- mov $31, $0
- ret
-
-END(__getcontext)
-weak_alias (__getcontext, getcontext)
-
-
-/* An internal routine used by getcontext and setcontext.
- The incomming return address register is $0. */
-
- .align 4
- .globl __getcontext_x
- .hidden __getcontext_x
- .usepv __getcontext_x, no
-
- cfi_startproc
- cfi_return_column (64)
-__getcontext_x:
- cfi_register (64, 0)
-
- .set noat
-
- /* Return value of getcontext. $0 is the only register
- whose value is not preserved. */
- stq $31, UC_SIGCTX+SC_REGS($16)
-
- /* Store all registers into the context. */
- stq $1, UC_SIGCTX+SC_REGS+1*8($16)
- stq $2, UC_SIGCTX+SC_REGS+2*8($16)
- stq $3, UC_SIGCTX+SC_REGS+3*8($16)
- stq $4, UC_SIGCTX+SC_REGS+4*8($16)
- stq $5, UC_SIGCTX+SC_REGS+5*8($16)
- stq $6, UC_SIGCTX+SC_REGS+6*8($16)
- stq $7, UC_SIGCTX+SC_REGS+7*8($16)
- stq $8, UC_SIGCTX+SC_REGS+8*8($16)
- stq $9, UC_SIGCTX+SC_REGS+9*8($16)
- stq $10, UC_SIGCTX+SC_REGS+10*8($16)
- stq $11, UC_SIGCTX+SC_REGS+11*8($16)
- stq $12, UC_SIGCTX+SC_REGS+12*8($16)
- stq $13, UC_SIGCTX+SC_REGS+13*8($16)
- stq $14, UC_SIGCTX+SC_REGS+14*8($16)
- stq $15, UC_SIGCTX+SC_REGS+15*8($16)
- stq $16, UC_SIGCTX+SC_REGS+16*8($16)
- stq $17, UC_SIGCTX+SC_REGS+17*8($16)
- stq $18, UC_SIGCTX+SC_REGS+18*8($16)
- stq $19, UC_SIGCTX+SC_REGS+19*8($16)
- stq $20, UC_SIGCTX+SC_REGS+20*8($16)
- stq $21, UC_SIGCTX+SC_REGS+21*8($16)
- stq $22, UC_SIGCTX+SC_REGS+22*8($16)
- stq $23, UC_SIGCTX+SC_REGS+23*8($16)
- stq $24, UC_SIGCTX+SC_REGS+24*8($16)
- stq $25, UC_SIGCTX+SC_REGS+25*8($16)
- stq $26, UC_SIGCTX+SC_REGS+26*8($16)
- stq $27, UC_SIGCTX+SC_REGS+27*8($16)
- stq $28, UC_SIGCTX+SC_REGS+28*8($16)
- stq $29, UC_SIGCTX+SC_REGS+29*8($16)
- stq $30, UC_SIGCTX+SC_REGS+30*8($16)
- stq $31, UC_SIGCTX+SC_REGS+31*8($16)
-
- stt $f0, UC_SIGCTX+SC_FPREGS+0*8($16)
- stt $f1, UC_SIGCTX+SC_FPREGS+1*8($16)
- stt $f2, UC_SIGCTX+SC_FPREGS+2*8($16)
- stt $f3, UC_SIGCTX+SC_FPREGS+3*8($16)
- stt $f4, UC_SIGCTX+SC_FPREGS+4*8($16)
- stt $f5, UC_SIGCTX+SC_FPREGS+5*8($16)
- stt $f6, UC_SIGCTX+SC_FPREGS+6*8($16)
- stt $f7, UC_SIGCTX+SC_FPREGS+7*8($16)
- stt $f8, UC_SIGCTX+SC_FPREGS+8*8($16)
- stt $f9, UC_SIGCTX+SC_FPREGS+9*8($16)
- stt $f10, UC_SIGCTX+SC_FPREGS+10*8($16)
- stt $f11, UC_SIGCTX+SC_FPREGS+11*8($16)
- stt $f12, UC_SIGCTX+SC_FPREGS+12*8($16)
- stt $f13, UC_SIGCTX+SC_FPREGS+13*8($16)
- stt $f14, UC_SIGCTX+SC_FPREGS+14*8($16)
- stt $f15, UC_SIGCTX+SC_FPREGS+15*8($16)
- stt $f16, UC_SIGCTX+SC_FPREGS+16*8($16)
- stt $f17, UC_SIGCTX+SC_FPREGS+17*8($16)
- stt $f18, UC_SIGCTX+SC_FPREGS+18*8($16)
- stt $f19, UC_SIGCTX+SC_FPREGS+19*8($16)
- stt $f20, UC_SIGCTX+SC_FPREGS+20*8($16)
- stt $f21, UC_SIGCTX+SC_FPREGS+21*8($16)
- stt $f22, UC_SIGCTX+SC_FPREGS+22*8($16)
- stt $f23, UC_SIGCTX+SC_FPREGS+23*8($16)
- stt $f24, UC_SIGCTX+SC_FPREGS+24*8($16)
- stt $f25, UC_SIGCTX+SC_FPREGS+25*8($16)
- stt $f26, UC_SIGCTX+SC_FPREGS+26*8($16)
- stt $f27, UC_SIGCTX+SC_FPREGS+27*8($16)
- stt $f28, UC_SIGCTX+SC_FPREGS+28*8($16)
- stt $f29, UC_SIGCTX+SC_FPREGS+29*8($16)
- stt $f30, UC_SIGCTX+SC_FPREGS+30*8($16)
- stt $f31, UC_SIGCTX+SC_FPREGS+31*8($16)
-
- mf_fpcr $f0
- lda $1, 8
- stt $f0, UC_SIGCTX+SC_FPCR($16)
-
- /* The return address of getcontext is the restart pc. */
- stq $26, UC_SIGCTX+SC_PC($16)
-
- /* Userlevel always has a processor status word of 8. */
- stq $1, UC_SIGCTX+SC_PS($16)
-
- /* Save registers around the syscall. We preserve $17
- for the benefit of swapcontext. */
- subq $30, 4*8, $30
- cfi_adjust_cfa_offset(4*8)
- stq $0, 0($30)
- cfi_rel_offset(64, 0)
- stq $16, 8($30)
- stq $17, 16($30)
-
- /* Save the current signal mask. Whee, there are three
- copies of this in the alpha ucontext_t. */
- lda $16, SIG_BLOCK
- lda $17, 0
- lda $0, __NR_osf_sigprocmask
- callsys
-
- ldq $16, 8($30)
- ldq $17, 16($30)
-
- stq $0, UC_OSF_SIGMASK($16)
- stq $0, UC_SIGCTX+SC_MASK($16)
- stq $0, UC_SIGMASK($16)
- stq $31, UC_SIGMASK + 1*8($16)
- stq $31, UC_SIGMASK + 2*8($16)
- stq $31, UC_SIGMASK + 3*8($16)
- stq $31, UC_SIGMASK + 4*8($16)
- stq $31, UC_SIGMASK + 5*8($16)
- stq $31, UC_SIGMASK + 6*8($16)
- stq $31, UC_SIGMASK + 7*8($16)
- stq $31, UC_SIGMASK + 8*8($16)
- stq $31, UC_SIGMASK + 9*8($16)
- stq $31, UC_SIGMASK +10*8($16)
- stq $31, UC_SIGMASK +11*8($16)
- stq $31, UC_SIGMASK +12*8($16)
- stq $31, UC_SIGMASK +13*8($16)
- stq $31, UC_SIGMASK +14*8($16)
- stq $31, UC_SIGMASK +15*8($16)
-
- ldq $0, 0($30)
- addq $30, 4*8, $30
- cfi_register (64, 0)
- cfi_adjust_cfa_offset(-4*8)
- ret $31, ($0), 1
-
- cfi_endproc
- .size __getcontext_x, .-__getcontext_x
- .type __getcontext_x, @function
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/getdents.c b/ports/sysdeps/unix/sysv/linux/alpha/getdents.c
deleted file mode 100644
index dfecfef..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/getdents.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#define DIRENT_SET_DP_INO(dp, value) \
- do { (dp)->d_ino = (value); (dp)->__pad = 0; } while (0)
-#include <sysdeps/unix/sysv/linux/getdents.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/getdents64.c b/ports/sysdeps/unix/sysv/linux/alpha/getdents64.c
deleted file mode 100644
index 50f1368..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/getdents64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/getdents64.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/gethostname.c b/ports/sysdeps/unix/sysv/linux/alpha/gethostname.c
deleted file mode 100644
index 1969c17..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/gethostname.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2001-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2001
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-int
-__gethostname (char *name, size_t len)
-{
- int result;
-
- result = INLINE_SYSCALL (gethostname, 2, name, len);
-
- if (result == 0
- /* See whether the string is terminated. If not we will return
- an error. */
- && memchr (name, '\0', len) == NULL)
- {
- __set_errno (EOVERFLOW);
- result = -1;
- }
-
- return result;
-}
-
-weak_alias (__gethostname, gethostname)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c b/ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c
deleted file mode 100644
index 0b39d89..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/getsysstats.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Determine various system internal values, Linux/Alpha version.
- Copyright (C) 1999-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Andreas Schwab <schwab@suse.de>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-
-/* We need to define a special parser for /proc/cpuinfo. */
-#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT) \
- do \
- { \
- /* Find the line that contains the information about the number of \
- active cpus. We don't have to fear extremely long lines since \
- the kernel will not generate them. 8192 bytes are really enough. \
- If there is no "CPUs ..." line then we are on a UP system. */ \
- char *l; \
- (RESULT) = 1; \
- while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL) \
- if ((sscanf (BUFFER, "cpus active : %d", &(RESULT)) == 1) \
- || (sscanf (BUFFER, "CPUs probed %*d active %d", \
- &(RESULT)) == 1)) \
- break; \
- } \
- while (0)
-
-
-/* On the Alpha we can distinguish between the number of configured and
- active cpus. */
-#define GET_NPROCS_CONF_PARSER(FP, BUFFER, RESULT) \
- do \
- { \
- /* Find the line that contains the information about the number of \
- probed cpus. We don't have to fear extremely long lines since \
- the kernel will not generate them. 8192 bytes are really enough. \
- If there is no "CPUs ..." line then we are on a UP system. */ \
- (RESULT) = 1; \
- while (fgets_unlocked ((BUFFER), sizeof (BUFFER), (FP)) != NULL) \
- if ((sscanf (buffer, "cpus detected : %d", &(RESULT)) == 1) \
- || (sscanf (buffer, "CPUs probed %d", &(RESULT)) == 1)) \
- break; \
- } \
- while (0)
-
-#include <sysdeps/unix/sysv/linux/getsysstats.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/glob.c b/ports/sysdeps/unix/sysv/linux/alpha/glob.c
deleted file mode 100644
index 47f7d94..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/glob.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define glob64 __no_glob64_decl
-#define globfree64 __no_globfree64_decl
-
-#include <sys/types.h>
-#include <glob.h>
-#include <shlib-compat.h>
-
-/* For Linux/Alpha we have to make the glob symbols versioned. */
-#define glob(pattern, flags, errfunc, pglob) \
- __new_glob (pattern, flags, errfunc, pglob)
-#define globfree(pglob) \
- __new_globfree (pglob)
-
-/* We need prototypes for these new names. */
-extern int __new_glob (const char *__pattern, int __flags,
- int (*__errfunc) (const char *, int),
- glob_t *__pglob);
-extern void __new_globfree (glob_t *__pglob);
-
-#include <posix/glob.c>
-
-#undef glob
-#undef globfree
-#undef glob64
-#undef globfree64
-
-versioned_symbol (libc, __new_glob, glob, GLIBC_2_1);
-versioned_symbol (libc, __new_globfree, globfree, GLIBC_2_1);
-libc_hidden_ver (__new_glob, glob)
-libc_hidden_ver (__new_globfree, globfree)
-
-weak_alias (__new_glob, glob64)
-weak_alias (__new_globfree, globfree64)
-libc_hidden_ver (__new_globfree, globfree64)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S b/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
deleted file mode 100644
index d3ea4c2..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include "kernel_sysinfo.h"
-
-
- .text
-
-ENTRY(__ieee_get_fp_control)
- cfi_startproc
- PSEUDO_PROLOGUE
-
- lda sp, -16(sp)
- cfi_adjust_cfa_offset(16)
-
- mov sp, a1
- ldi a0, GSI_IEEE_FP_CONTROL
- ldi v0, __NR_osf_getsysinfo
- call_pal PAL_callsys
-
- ldq t0, 0(sp)
- lda sp, 16(sp)
- cfi_adjust_cfa_offset(-16)
-
- bne a3, SYSCALL_ERROR_LABEL
-
- mov t0, v0
- ret
-
-PSEUDO_END(__ieee_get_fp_control)
- cfi_endproc
-
-libc_hidden_def(__ieee_get_fp_control)
-weak_alias (__ieee_get_fp_control, ieee_get_fp_control)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S b/ports/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
deleted file mode 100644
index 8d13d37..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger <davidm@azstarnet.com>, 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include "kernel_sysinfo.h"
-
-
-ENTRY(__ieee_set_fp_control)
- cfi_startproc
- PSEUDO_PROLOGUE
-
- lda sp, -16(sp)
- cfi_adjust_cfa_offset(16)
-
- ldi v0, __NR_osf_setsysinfo
- stq a0, 0(sp)
- mov sp, a1
- ldi a0, SSI_IEEE_FP_CONTROL
- call_pal PAL_callsys
-
- lda sp, 16(sp)
- cfi_adjust_cfa_offset(-16)
-
- bne a3, SYSCALL_ERROR_LABEL
- ret
-
-PSEUDO_END(__ieee_set_fp_control)
- cfi_endproc
-
-libc_hidden_def(__ieee_set_fp_control)
-weak_alias (__ieee_set_fp_control, ieee_set_fp_control)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c b/ports/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c
deleted file mode 100644
index 81d18f7..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/internal_statvfs64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/internal_statvfs64.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c b/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c
deleted file mode 100644
index 3dc3ae8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/ioperm.c
+++ /dev/null
@@ -1,882 +0,0 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* I/O access is restricted to ISA port space (ports 0..65535).
- Modern devices hopefully are sane enough not to put any performance
- critical registers in i/o space.
-
- On the first call to ioperm, the entire (E)ISA port space is mapped
- into the virtual address space at address io.base. mprotect calls
- are then used to enable/disable access to ports. Per page, there
- are PAGE_SIZE>>IO_SHIFT I/O ports (e.g., 256 ports on a Low Cost Alpha
- based system using 8KB pages).
-
- Keep in mind that this code should be able to run in a 32bit address
- space. It is therefore unreasonable to expect mmap'ing the entire
- sparse address space would work (e.g., the Low Cost Alpha chip has an
- I/O address space that's 512MB large!). */
-
-/* Make sure the ldbu/stb asms below are not expaneded to macros. */
-#ifndef __alpha_bwx__
-asm(".arch ev56");
-#endif
-
-#include <errno.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <sys/io.h>
-
-#include <sysdep.h>
-#include <sys/syscall.h>
-
-#define PATH_ALPHA_SYSTYPE "/etc/alpha_systype"
-#define PATH_CPUINFO "/proc/cpuinfo"
-
-#define MAX_PORT 0x10000
-#define vip volatile int *
-#define vuip volatile unsigned int *
-#define vusp volatile unsigned short *
-#define vucp volatile unsigned char *
-
-#define JENSEN_IO_BASE (0x300000000UL)
-#define JENSEN_SPARSE_MEM (0x200000000UL)
-
-/* With respect to the I/O architecture, APECS and LCA are identical,
- so the following defines apply to LCA as well. */
-#define APECS_IO_BASE (0x1c0000000UL)
-#define APECS_SPARSE_MEM (0x200000000UL)
-#define APECS_DENSE_MEM (0x300000000UL)
-
-/* The same holds for CIA and PYXIS, except for PYXIS we prefer BWX. */
-#define CIA_IO_BASE (0x8580000000UL)
-#define CIA_SPARSE_MEM (0x8000000000UL)
-#define CIA_DENSE_MEM (0x8600000000UL)
-
-#define PYXIS_IO_BASE (0x8900000000UL)
-#define PYXIS_DENSE_MEM (0x8800000000UL)
-
-/* SABLE is EV4, GAMMA is EV5 */
-#define T2_IO_BASE (0x3a0000000UL)
-#define T2_SPARSE_MEM (0x200000000UL)
-#define T2_DENSE_MEM (0x3c0000000UL)
-
-#define GAMMA_IO_BASE (0x83a0000000UL)
-#define GAMMA_SPARSE_MEM (0x8200000000UL)
-#define GAMMA_DENSE_MEM (0x83c0000000UL)
-
-/* NOTE: these are hardwired to PCI bus 0 addresses!!! */
-#define MCPCIA_IO_BASE (0xf980000000UL)
-#define MCPCIA_SPARSE_MEM (0xf800000000UL)
-#define MCPCIA_DENSE_MEM (0xf900000000UL)
-
-/* Tsunami and Irongate use the same offsets, at least for hose 0. */
-#define TSUNAMI_IO_BASE (0x801fc000000UL)
-#define TSUNAMI_DENSE_MEM (0x80000000000UL)
-
-/* Polaris has SPARSE space, but we prefer to use only DENSE
- because of some idiosyncracies in actually using SPARSE. */
-#define POLARIS_IO_BASE (0xf9fc000000UL)
-#define POLARIS_DENSE_MEM (0xf900000000UL)
-
-typedef enum {
- IOSYS_UNKNOWN, IOSYS_JENSEN, IOSYS_APECS, IOSYS_CIA, IOSYS_PYXIS, IOSYS_T2,
- IOSYS_TSUNAMI, IOSYS_MCPCIA, IOSYS_GAMMA, IOSYS_POLARIS,
- IOSYS_CPUDEP, IOSYS_PCIDEP
-} iosys_t;
-
-typedef enum {
- IOSWIZZLE_JENSEN, IOSWIZZLE_SPARSE, IOSWIZZLE_DENSE
-} ioswizzle_t;
-
-static struct io_system {
- unsigned long int bus_memory_base;
- unsigned long int sparse_bus_mem_base;
- unsigned long int bus_io_base;
-} io_system[] = { /* NOTE! must match iosys_t enumeration */
-/* UNKNOWN */ {0, 0, 0},
-/* JENSEN */ {0, JENSEN_SPARSE_MEM, JENSEN_IO_BASE},
-/* APECS */ {APECS_DENSE_MEM, APECS_SPARSE_MEM, APECS_IO_BASE},
-/* CIA */ {CIA_DENSE_MEM, CIA_SPARSE_MEM, CIA_IO_BASE},
-/* PYXIS */ {PYXIS_DENSE_MEM, 0, PYXIS_IO_BASE},
-/* T2 */ {T2_DENSE_MEM, T2_SPARSE_MEM, T2_IO_BASE},
-/* TSUNAMI */ {TSUNAMI_DENSE_MEM, 0, TSUNAMI_IO_BASE},
-/* MCPCIA */ {MCPCIA_DENSE_MEM, MCPCIA_SPARSE_MEM, MCPCIA_IO_BASE},
-/* GAMMA */ {GAMMA_DENSE_MEM, GAMMA_SPARSE_MEM, GAMMA_IO_BASE},
-/* POLARIS */ {POLARIS_DENSE_MEM, 0, POLARIS_IO_BASE},
-/* CPUDEP */ {0, 0, 0}, /* for platforms dependent on CPU type */
-/* PCIDEP */ {0, 0, 0}, /* for platforms dependent on core logic */
-};
-
-static struct platform {
- const char *name;
- iosys_t io_sys;
-} platform[] = {
- {"Alcor", IOSYS_CIA},
- {"Avanti", IOSYS_APECS},
- {"Cabriolet", IOSYS_APECS},
- {"EB164", IOSYS_PCIDEP},
- {"EB64+", IOSYS_APECS},
- {"EB66", IOSYS_APECS},
- {"EB66P", IOSYS_APECS},
- {"Jensen", IOSYS_JENSEN},
- {"Miata", IOSYS_PYXIS},
- {"Mikasa", IOSYS_CPUDEP},
- {"Nautilus", IOSYS_TSUNAMI},
- {"Noname", IOSYS_APECS},
- {"Noritake", IOSYS_CPUDEP},
- {"Rawhide", IOSYS_MCPCIA},
- {"Ruffian", IOSYS_PYXIS},
- {"Sable", IOSYS_CPUDEP},
- {"Takara", IOSYS_CIA},
- {"Tsunami", IOSYS_TSUNAMI},
- {"XL", IOSYS_APECS},
-};
-
-struct ioswtch {
- void (*sethae)(unsigned long int addr);
- void (*outb)(unsigned char b, unsigned long int port);
- void (*outw)(unsigned short b, unsigned long int port);
- void (*outl)(unsigned int b, unsigned long int port);
- unsigned int (*inb)(unsigned long int port);
- unsigned int (*inw)(unsigned long int port);
- unsigned int (*inl)(unsigned long int port);
-};
-
-static struct {
- unsigned long int hae_cache;
- unsigned long int base;
- struct ioswtch * swp;
- unsigned long int bus_memory_base;
- unsigned long int sparse_bus_memory_base;
- unsigned long int io_base;
- ioswizzle_t swiz;
-} io;
-
-static inline void
-stb_mb(unsigned char val, unsigned long addr)
-{
- __asm__("stb %1,%0; mb" : "=m"(*(vucp)addr) : "r"(val));
-}
-
-static inline void
-stw_mb(unsigned short val, unsigned long addr)
-{
- __asm__("stw %1,%0; mb" : "=m"(*(vusp)addr) : "r"(val));
-}
-
-static inline void
-stl_mb(unsigned int val, unsigned long addr)
-{
- __asm__("stl %1,%0; mb" : "=m"(*(vip)addr) : "r"(val));
-}
-
-/* No need to examine error -- sethae never fails. */
-static inline void
-__sethae(unsigned long value)
-{
- register unsigned long r16 __asm__("$16") = value;
- register unsigned long r0 __asm__("$0") = __NR_sethae;
- __asm__ __volatile__ ("callsys"
- : "=r"(r0)
- : "0"(r0), "r" (r16)
- : inline_syscall_clobbers, "$19");
-}
-
-extern long __pciconfig_iobase(enum __pciconfig_iobase_which __which,
- unsigned long int __bus,
- unsigned long int __dfn);
-
-static inline unsigned long int
-port_to_cpu_addr (unsigned long int port, ioswizzle_t ioswiz, int size)
-{
- if (ioswiz == IOSWIZZLE_SPARSE)
- return io.base + (port << 5) + ((size - 1) << 3);
- else if (ioswiz == IOSWIZZLE_DENSE)
- return port + io.base;
- else
- return io.base + (port << 7) + ((size - 1) << 5);
-}
-
-static inline __attribute__((always_inline)) void
-inline_sethae (unsigned long int addr, ioswizzle_t ioswiz)
-{
- if (ioswiz == IOSWIZZLE_SPARSE)
- {
- unsigned long int msb;
-
- /* no need to set hae if msb is 0: */
- msb = addr & 0xf8000000;
- if (msb && msb != io.hae_cache)
- {
- io.hae_cache = msb;
- __sethae (msb);
- }
- }
- else if (ioswiz == IOSWIZZLE_JENSEN)
- {
- /* HAE on the Jensen is bits 31:25 shifted right. */
- addr >>= 25;
- if (addr != io.hae_cache)
- {
- io.hae_cache = addr;
- __sethae (addr);
- }
- }
-}
-
-static inline void
-inline_outb (unsigned char b, unsigned long int port, ioswizzle_t ioswiz)
-{
- unsigned int w;
- unsigned long int addr = port_to_cpu_addr (port, ioswiz, 1);
-
- asm ("insbl %2,%1,%0" : "=r" (w) : "ri" (port & 0x3), "r" (b));
- stl_mb(w, addr);
-}
-
-
-static inline void
-inline_outw (unsigned short int b, unsigned long int port, ioswizzle_t ioswiz)
-{
- unsigned long w;
- unsigned long int addr = port_to_cpu_addr (port, ioswiz, 2);
-
- asm ("inswl %2,%1,%0" : "=r" (w) : "ri" (port & 0x3), "r" (b));
- stl_mb(w, addr);
-}
-
-
-static inline void
-inline_outl (unsigned int b, unsigned long int port, ioswizzle_t ioswiz)
-{
- unsigned long int addr = port_to_cpu_addr (port, ioswiz, 4);
-
- stl_mb(b, addr);
-}
-
-
-static inline unsigned int
-inline_inb (unsigned long int port, ioswizzle_t ioswiz)
-{
- unsigned long int addr = port_to_cpu_addr (port, ioswiz, 1);
- int result;
-
- result = *(vip) addr;
- result >>= (port & 3) * 8;
- return 0xffUL & result;
-}
-
-
-static inline unsigned int
-inline_inw (unsigned long int port, ioswizzle_t ioswiz)
-{
- unsigned long int addr = port_to_cpu_addr (port, ioswiz, 2);
- int result;
-
- result = *(vip) addr;
- result >>= (port & 3) * 8;
- return 0xffffUL & result;
-}
-
-
-static inline unsigned int
-inline_inl (unsigned long int port, ioswizzle_t ioswiz)
-{
- unsigned long int addr = port_to_cpu_addr (port, ioswiz, 4);
-
- return *(vuip) addr;
-}
-
-/*
- * Now define the inline functions for CPUs supporting byte/word insns,
- * and whose core logic supports I/O space accesses utilizing them.
- *
- * These routines could be used by MIATA, for example, because it has
- * and EV56 plus PYXIS, but it currently uses SPARSE anyway. This is
- * also true of RX164 which used POLARIS, but we will choose to use
- * these routines in that case instead of SPARSE.
- *
- * These routines are necessary for TSUNAMI/TYPHOON based platforms,
- * which will have (at least) EV6.
- */
-
-static inline unsigned long int
-dense_port_to_cpu_addr (unsigned long int port)
-{
- return port + io.base;
-}
-
-static inline void
-inline_bwx_outb (unsigned char b, unsigned long int port)
-{
- unsigned long int addr = dense_port_to_cpu_addr (port);
- stb_mb (b, addr);
-}
-
-static inline void
-inline_bwx_outw (unsigned short int b, unsigned long int port)
-{
- unsigned long int addr = dense_port_to_cpu_addr (port);
- stw_mb (b, addr);
-}
-
-static inline void
-inline_bwx_outl (unsigned int b, unsigned long int port)
-{
- unsigned long int addr = dense_port_to_cpu_addr (port);
- stl_mb (b, addr);
-}
-
-static inline unsigned int
-inline_bwx_inb (unsigned long int port)
-{
- unsigned long int addr = dense_port_to_cpu_addr (port);
- unsigned char r;
-
- __asm__ ("ldbu %0,%1" : "=r"(r) : "m"(*(vucp)addr));
- return r;
-}
-
-static inline unsigned int
-inline_bwx_inw (unsigned long int port)
-{
- unsigned long int addr = dense_port_to_cpu_addr (port);
- unsigned short r;
-
- __asm__ ("ldwu %0,%1" : "=r"(r) : "m"(*(vusp)addr));
- return r;
-}
-
-static inline unsigned int
-inline_bwx_inl (unsigned long int port)
-{
- unsigned long int addr = dense_port_to_cpu_addr (port);
-
- return *(vuip) addr;
-}
-
-/* macros to define routines with appropriate names and functions */
-
-/* these do either SPARSE or JENSEN swizzle */
-
-#define DCL_SETHAE(name, ioswiz) \
-static void \
-name##_sethae (unsigned long int addr) \
-{ \
- inline_sethae (addr, IOSWIZZLE_##ioswiz); \
-}
-
-#define DCL_OUT(name, func, type, ioswiz) \
-static void \
-name##_##func (unsigned type b, unsigned long int addr) \
-{ \
- inline_##func (b, addr, IOSWIZZLE_##ioswiz); \
-}
-
-#define DCL_IN(name, func, ioswiz) \
-static unsigned int \
-name##_##func (unsigned long int addr) \
-{ \
- return inline_##func (addr, IOSWIZZLE_##ioswiz); \
-}
-
-/* these do DENSE, so no swizzle is needed */
-
-#define DCL_OUT_BWX(name, func, type) \
-static void \
-name##_##func (unsigned type b, unsigned long int addr) \
-{ \
- inline_bwx_##func (b, addr); \
-}
-
-#define DCL_IN_BWX(name, func) \
-static unsigned int \
-name##_##func (unsigned long int addr) \
-{ \
- return inline_bwx_##func (addr); \
-}
-
-/* now declare/define the necessary routines */
-
-DCL_SETHAE(jensen, JENSEN)
-DCL_OUT(jensen, outb, char, JENSEN)
-DCL_OUT(jensen, outw, short int, JENSEN)
-DCL_OUT(jensen, outl, int, JENSEN)
-DCL_IN(jensen, inb, JENSEN)
-DCL_IN(jensen, inw, JENSEN)
-DCL_IN(jensen, inl, JENSEN)
-
-DCL_SETHAE(sparse, SPARSE)
-DCL_OUT(sparse, outb, char, SPARSE)
-DCL_OUT(sparse, outw, short int, SPARSE)
-DCL_OUT(sparse, outl, int, SPARSE)
-DCL_IN(sparse, inb, SPARSE)
-DCL_IN(sparse, inw, SPARSE)
-DCL_IN(sparse, inl, SPARSE)
-
-DCL_SETHAE(dense, DENSE)
-DCL_OUT_BWX(dense, outb, char)
-DCL_OUT_BWX(dense, outw, short int)
-DCL_OUT_BWX(dense, outl, int)
-DCL_IN_BWX(dense, inb)
-DCL_IN_BWX(dense, inw)
-DCL_IN_BWX(dense, inl)
-
-/* define the "swizzle" switch */
-static struct ioswtch ioswtch[] = {
- {
- jensen_sethae,
- jensen_outb, jensen_outw, jensen_outl,
- jensen_inb, jensen_inw, jensen_inl
- },
- {
- sparse_sethae,
- sparse_outb, sparse_outw, sparse_outl,
- sparse_inb, sparse_inw, sparse_inl
- },
- {
- dense_sethae,
- dense_outb, dense_outw, dense_outl,
- dense_inb, dense_inw, dense_inl
- }
-};
-
-#undef DEBUG_IOPERM
-
-/* Routine to process the /proc/cpuinfo information into the fields
- that are required for correctly determining the platform parameters. */
-
-struct cpuinfo_data
-{
- char systype[256]; /* system type field */
- char sysvari[256]; /* system variation field */
- char cpumodel[256]; /* cpu model field */
-};
-
-static inline int
-process_cpuinfo(struct cpuinfo_data *data)
-{
- int got_type, got_vari, got_model;
- char dummy[256];
- FILE * fp;
- int n;
-
- data->systype[0] = 0;
- data->sysvari[0] = 0;
- data->cpumodel[0] = 0;
-
- /* If there's an /etc/alpha_systype link, we're intending to override
- whatever's in /proc/cpuinfo. */
- n = __readlink (PATH_ALPHA_SYSTYPE, data->systype, 256 - 1);
- if (n > 0)
- {
- data->systype[n] = '\0';
- return 1;
- }
-
- fp = fopen (PATH_CPUINFO, "rce");
- if (!fp)
- return 0;
-
- got_type = got_vari = got_model = 0;
-
- while (1)
- {
- if (fgets_unlocked (dummy, 256, fp) == NULL)
- break;
- if (!got_type &&
- sscanf (dummy, "system type : %256[^\n]\n", data->systype) == 1)
- got_type = 1;
- if (!got_vari &&
- sscanf (dummy, "system variation : %256[^\n]\n", data->sysvari) == 1)
- got_vari = 1;
- if (!got_model &&
- sscanf (dummy, "cpu model : %256[^\n]\n", data->cpumodel) == 1)
- got_model = 1;
- }
-
- fclose (fp);
-
-#ifdef DEBUG_IOPERM
- fprintf(stderr, "system type: `%s'\n", data->systype);
- fprintf(stderr, "system vari: `%s'\n", data->sysvari);
- fprintf(stderr, "cpu model: `%s'\n", data->cpumodel);
-#endif
-
- return got_type + got_vari + got_model;
-}
-
-
-/*
- * Initialize I/O system.
- */
-static int
-init_iosys (void)
-{
- long addr;
- int i, olderrno = errno;
- struct cpuinfo_data data;
-
- /* First try the pciconfig_iobase syscall added to 2.2.15 and 2.3.99. */
-
-#ifdef __NR_pciconfig_iobase
- addr = __pciconfig_iobase (IOBASE_DENSE_MEM, 0, 0);
- if (addr != -1)
- {
- ioswizzle_t io_swiz;
-
- if (addr == 0)
- {
- /* Only Jensen doesn't have dense mem space. */
- io.sparse_bus_memory_base
- = io_system[IOSYS_JENSEN].sparse_bus_mem_base;
- io.io_base = io_system[IOSYS_JENSEN].bus_io_base;
- io_swiz = IOSWIZZLE_JENSEN;
- }
- else
- {
- io.bus_memory_base = addr;
-
- addr = __pciconfig_iobase (IOBASE_DENSE_IO, 0, 0);
- if (addr != 0)
- {
- /* The X server uses _bus_base_sparse == 0 to know that
- BWX access are supported to dense mem space. This is
- true of every system that supports dense io space, so
- never fill in io.sparse_bus_memory_base in this case. */
- io_swiz = IOSWIZZLE_DENSE;
- io.io_base = addr;
- }
- else
- {
- io.sparse_bus_memory_base
- = __pciconfig_iobase (IOBASE_SPARSE_MEM, 0, 0);
- io.io_base = __pciconfig_iobase (IOBASE_SPARSE_IO, 0, 0);
- io_swiz = IOSWIZZLE_SPARSE;
- }
- }
-
- io.swiz = io_swiz;
- io.swp = &ioswtch[io_swiz];
-
- return 0;
- }
-#endif
-
- /* Second, collect the contents of /etc/alpha_systype or /proc/cpuinfo. */
-
- if (process_cpuinfo(&data) == 0)
- {
- /* This can happen if the format of /proc/cpuinfo changes. */
- fprintf (stderr,
- "ioperm.init_iosys: Unable to determine system type.\n"
- "\t(May need " PATH_ALPHA_SYSTYPE " symlink?)\n");
- __set_errno (ENODEV);
- return -1;
- }
-
- /* Translate systype name into i/o system. */
- for (i = 0; i < sizeof (platform) / sizeof (platform[0]); ++i)
- {
- if (strcmp (platform[i].name, data.systype) == 0)
- {
- iosys_t io_sys = platform[i].io_sys;
-
- /* Some platforms can have either EV4 or EV5 CPUs. */
- if (io_sys == IOSYS_CPUDEP)
- {
- /* SABLE or MIKASA or NORITAKE so far. */
- if (strcmp (platform[i].name, "Sable") == 0)
- {
- if (strncmp (data.cpumodel, "EV4", 3) == 0)
- io_sys = IOSYS_T2;
- else if (strncmp (data.cpumodel, "EV5", 3) == 0)
- io_sys = IOSYS_GAMMA;
- }
- else
- {
- /* This covers MIKASA/NORITAKE. */
- if (strncmp (data.cpumodel, "EV4", 3) == 0)
- io_sys = IOSYS_APECS;
- else if (strncmp (data.cpumodel, "EV5", 3) == 0)
- io_sys = IOSYS_CIA;
- }
- if (io_sys == IOSYS_CPUDEP)
- {
- /* This can happen if the format of /proc/cpuinfo changes.*/
- fprintf (stderr, "ioperm.init_iosys: Unable to determine"
- " CPU model.\n");
- __set_errno (ENODEV);
- return -1;
- }
- }
- /* Some platforms can have different core logic chipsets */
- if (io_sys == IOSYS_PCIDEP)
- {
- /* EB164 so far */
- if (strcmp (data.systype, "EB164") == 0)
- {
- if (strncmp (data.sysvari, "RX164", 5) == 0)
- io_sys = IOSYS_POLARIS;
- else if (strncmp (data.sysvari, "LX164", 5) == 0
- || strncmp (data.sysvari, "SX164", 5) == 0)
- io_sys = IOSYS_PYXIS;
- else
- io_sys = IOSYS_CIA;
- }
- if (io_sys == IOSYS_PCIDEP)
- {
- /* This can happen if the format of /proc/cpuinfo changes.*/
- fprintf (stderr, "ioperm.init_iosys: Unable to determine"
- " core logic chipset.\n");
- __set_errno (ENODEV);
- return -1;
- }
- }
- io.bus_memory_base = io_system[io_sys].bus_memory_base;
- io.sparse_bus_memory_base = io_system[io_sys].sparse_bus_mem_base;
- io.io_base = io_system[io_sys].bus_io_base;
-
- if (io_sys == IOSYS_JENSEN)
- io.swiz = IOSWIZZLE_JENSEN;
- else if (io_sys == IOSYS_TSUNAMI
- || io_sys == IOSYS_POLARIS
- || io_sys == IOSYS_PYXIS)
- io.swiz = IOSWIZZLE_DENSE;
- else
- io.swiz = IOSWIZZLE_SPARSE;
- io.swp = &ioswtch[io.swiz];
-
- __set_errno (olderrno);
- return 0;
- }
- }
-
- __set_errno (ENODEV);
- fprintf(stderr, "ioperm.init_iosys: Platform not recognized.\n"
- "\t(May need " PATH_ALPHA_SYSTYPE " symlink?)\n");
- return -1;
-}
-
-
-int
-_ioperm (unsigned long int from, unsigned long int num, int turn_on)
-{
- unsigned long int addr, len, pagesize = __getpagesize();
- int prot;
-
- if (!io.swp && init_iosys() < 0)
- {
-#ifdef DEBUG_IOPERM
- fprintf(stderr, "ioperm: init_iosys() failed (%m)\n");
-#endif
- return -1;
- }
-
- /* This test isn't as silly as it may look like; consider overflows! */
- if (from >= MAX_PORT || from + num > MAX_PORT)
- {
- __set_errno (EINVAL);
-#ifdef DEBUG_IOPERM
- fprintf(stderr, "ioperm: from/num out of range\n");
-#endif
- return -1;
- }
-
-#ifdef DEBUG_IOPERM
- fprintf(stderr, "ioperm: turn_on %d io.base %ld\n", turn_on, io.base);
-#endif
-
- if (turn_on)
- {
- if (!io.base)
- {
- int fd;
-
- io.hae_cache = 0;
- if (io.swiz != IOSWIZZLE_DENSE)
- {
- /* Synchronize with hw. */
- __sethae (0);
- }
-
- fd = __open ("/dev/mem", O_RDWR);
- if (fd < 0)
- {
-#ifdef DEBUG_IOPERM
- fprintf(stderr, "ioperm: /dev/mem open failed (%m)\n");
-#endif
- return -1;
- }
-
- addr = port_to_cpu_addr (0, io.swiz, 1);
- len = port_to_cpu_addr (MAX_PORT, io.swiz, 1) - addr;
- io.base =
- (unsigned long int) __mmap (0, len, PROT_NONE, MAP_SHARED,
- fd, io.io_base);
- __close (fd);
-#ifdef DEBUG_IOPERM
- fprintf(stderr, "ioperm: mmap of len 0x%lx returned 0x%lx\n",
- len, io.base);
-#endif
- if ((long) io.base == -1)
- return -1;
- }
- prot = PROT_READ | PROT_WRITE;
- }
- else
- {
- if (!io.base)
- return 0; /* never was turned on... */
-
- /* turnoff access to relevant pages: */
- prot = PROT_NONE;
- }
- addr = port_to_cpu_addr (from, io.swiz, 1);
- addr &= ~(pagesize - 1);
- len = port_to_cpu_addr (from + num, io.swiz, 1) - addr;
- return __mprotect ((void *) addr, len, prot);
-}
-
-
-int
-_iopl (int level)
-{
- switch (level)
- {
- case 0:
- return 0;
-
- case 1: case 2: case 3:
- return _ioperm (0, MAX_PORT, 1);
-
- default:
- __set_errno (EINVAL);
- return -1;
- }
-}
-
-
-void
-_sethae (unsigned long int addr)
-{
- if (!io.swp && init_iosys () < 0)
- return;
-
- io.swp->sethae (addr);
-}
-
-
-void
-_outb (unsigned char b, unsigned long int port)
-{
- if (port >= MAX_PORT)
- return;
-
- io.swp->outb (b, port);
-}
-
-
-void
-_outw (unsigned short b, unsigned long int port)
-{
- if (port >= MAX_PORT)
- return;
-
- io.swp->outw (b, port);
-}
-
-
-void
-_outl (unsigned int b, unsigned long int port)
-{
- if (port >= MAX_PORT)
- return;
-
- io.swp->outl (b, port);
-}
-
-
-unsigned int
-_inb (unsigned long int port)
-{
- return io.swp->inb (port);
-}
-
-
-unsigned int
-_inw (unsigned long int port)
-{
- return io.swp->inw (port);
-}
-
-
-unsigned int
-_inl (unsigned long int port)
-{
- return io.swp->inl (port);
-}
-
-
-unsigned long int
-_bus_base(void)
-{
- if (!io.swp && init_iosys () < 0)
- return -1;
- return io.bus_memory_base;
-}
-
-unsigned long int
-_bus_base_sparse(void)
-{
- if (!io.swp && init_iosys () < 0)
- return -1;
- return io.sparse_bus_memory_base;
-}
-
-int
-_hae_shift(void)
-{
- if (!io.swp && init_iosys () < 0)
- return -1;
- if (io.swiz == IOSWIZZLE_JENSEN)
- return 7;
- if (io.swiz == IOSWIZZLE_SPARSE)
- return 5;
- return 0;
-}
-
-weak_alias (_sethae, sethae);
-weak_alias (_ioperm, ioperm);
-weak_alias (_iopl, iopl);
-weak_alias (_inb, inb);
-weak_alias (_inw, inw);
-weak_alias (_inl, inl);
-weak_alias (_outb, outb);
-weak_alias (_outw, outw);
-weak_alias (_outl, outl);
-weak_alias (_bus_base, bus_base);
-weak_alias (_bus_base_sparse, bus_base_sparse);
-weak_alias (_hae_shift, hae_shift);
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/ipc_priv.h b/ports/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
deleted file mode 100644
index 67883be..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/ipc_priv.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/powerpc/ipc_priv.h>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
deleted file mode 100644
index 7c38854..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel-features.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Set flags signalling availability of kernel features based on given
- kernel version number.
- Copyright (C) 2010-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_FEATURES_H
-#define _KERNEL_FEATURES_H 1
-
-#define __ASSUME_UTIMES 1
-
-/* Support for the O_CLOEXEC flag was added for alpha in 2.6.23. */
-#if __LINUX_KERNEL_VERSION >= 0x020617
-# define __ASSUME_O_CLOEXEC 1
-#endif
-
-/* Support for various CLOEXEC and NONBLOCK flags was added for alpha after
- 2.6.33-rc1. */
-#if __LINUX_KERNEL_VERSION >= 0x020621
-# define __ASSUME_SOCK_CLOEXEC 1
-# define __ASSUME_IN_NONBLOCK 1
-#endif
-
-/* Support for the pipe2, eventfd2, signalfd4 syscalls was added for alpha
- after 2.6.33-rc1. */
-#if __LINUX_KERNEL_VERSION >= 0x020621
-# define __ASSUME_PIPE2 1
-# define __ASSUME_EVENTFD2 1
-# define __ASSUME_SIGNALFD4 1
-#endif
-
-/* Support for accept4 was added for alpha after 2.6.33-rc1. */
-#if __LINUX_KERNEL_VERSION >= 0x020621
-# define __ASSUME_ACCEPT4 1
-#endif
-
-#include_next <kernel-features.h>
-
-#undef __ASSUME_ST_INO_64_BIT
-
-/* pselect/ppoll were introduced on alpha just after 2.6.22-rc1. */
-#if __LINUX_KERNEL_VERSION < 0x020617
-# undef __ASSUME_PSELECT
-# undef __ASSUME_PPOLL
-#endif
-
-/* The *at syscalls were introduced on alpha just after 2.6.22-rc1. */
-#if __LINUX_KERNEL_VERSION < 0x020617
-# undef __ASSUME_ATFCTS
-#endif
-
-/* Support for inter-process robust mutexes was added on alpha just
- after 2.6.22-rc1. */
-#if __LINUX_KERNEL_VERSION < 0x020617
-# undef __ASSUME_SET_ROBUST_LIST
-#endif
-
-/* Support for utimensat was added on alpha after 2.6.22-rc1. */
-#if __LINUX_KERNEL_VERSION < 0x020617
-# undef __ASSUME_UTIMENSAT
-#endif
-
-/* Support for fallocate was added for alpha after 2.6.33-rc1. */
-#if __LINUX_KERNEL_VERSION < 0x020621
-# undef __ASSUME_FALLOCATE
-#endif
-
-/* There never has been support for fstat64. */
-#undef __ASSUME_STATFS64
-#define __ASSUME_STATFS64 0
-
-/* Support for fsyncdata was added for alpha after 2.6.21. */
-#if __LINUX_KERNEL_VERSION >= 0x020616
-# define __ASSUME_FDATASYNC 1
-#endif
-
-#endif /* _KERNEL_FEATURES_H */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
deleted file mode 100644
index 4c35d96..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* This is the sigaction struction from the Linux 2.1.20 kernel. */
-
-struct old_kernel_sigaction {
- __sighandler_t k_sa_handler;
- unsigned long sa_mask;
- unsigned int sa_flags;
-};
-
-/* This is the sigaction structure from the Linux 2.1.68 kernel. */
-
-struct kernel_sigaction {
- __sighandler_t k_sa_handler;
- unsigned int sa_flags;
- sigset_t sa_mask;
-};
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/kernel_stat.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel_stat.h
deleted file mode 100644
index 6708411..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel_stat.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Definition of `struct stat' used in the kernel. */
-struct kernel_stat
- {
- unsigned int st_dev;
- unsigned int st_ino;
- unsigned int st_mode;
- unsigned int st_nlink;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int st_rdev;
- long int st_size;
- unsigned long int st_atime;
- unsigned long int st_mtime;
- unsigned long int st_ctime;
- unsigned int st_blksize;
- int st_blocks;
- unsigned int st_flags;
- unsigned int st_gen;
- };
-
-/* Definition of `struct stat64' used in the kernel. */
-struct kernel_stat64
- {
- unsigned long st_dev;
- unsigned long st_ino;
- unsigned long st_rdev;
- long st_size;
- unsigned long st_blocks;
-
- unsigned int st_mode;
- unsigned int st_uid;
- unsigned int st_gid;
- unsigned int st_blksize;
- unsigned int st_nlink;
- unsigned int __pad0;
-
- unsigned long st_atime;
- unsigned long st_atimensec;
- unsigned long st_mtime;
- unsigned long st_mtimensec;
- unsigned long st_ctime;
- unsigned long st_ctimensec;
- long __glibc_reserved[3];
- };
-
-/* Definition of `struct stat' used by glibc 2.0. */
-struct glibc2_stat
- {
- __dev_t st_dev;
- __ino_t st_ino;
- __mode_t st_mode;
- __nlink_t st_nlink;
- __uid_t st_uid;
- __gid_t st_gid;
- __dev_t st_rdev;
- __off_t st_size;
- __time_t st_atime;
- __time_t st_mtime;
- __time_t st_ctime;
- unsigned int st_blksize;
- int st_blocks;
- unsigned int st_flags;
- unsigned int st_gen;
- };
-
-/* Definition of `struct stat' used by glibc 2.1. */
-struct glibc21_stat
- {
- __dev_t st_dev;
- __ino64_t st_ino;
- __mode_t st_mode;
- __nlink_t st_nlink;
- __uid_t st_uid;
- __gid_t st_gid;
- __dev_t st_rdev;
- __off_t st_size;
- __time_t st_atime;
- __time_t st_mtime;
- __time_t st_ctime;
- __blkcnt64_t st_blocks;
- __blksize_t st_blksize;
- unsigned int st_flags;
- unsigned int st_gen;
- int __pad3;
- long __glibc_reserved[4];
- };
-
-#define XSTAT_IS_XSTAT64 1
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h
deleted file mode 100644
index a3edec2..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel_sysinfo.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* A copy of the couple of bits we need from <asm/sysinfo.h>. */
-
-#define GSI_IEEE_FP_CONTROL 45
-
-#define SSI_IEEE_FP_CONTROL 14
-#define SSI_IEEE_RAISE_EXCEPTION 1001
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/ports/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
deleted file mode 100644
index 440e4c5..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _KERNEL_TERMIOS_H
-#define _KERNEL_TERMIOS_H 1
-
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
-
-/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termios.h>
-
-#define __KERNEL_NCCS 19
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- cc_t c_line; /* line discipline */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
- };
-
-#define _HAVE_C_ISPEED 1
-#define _HAVE_C_OSPEED 1
-
-#endif /* kernel_termios.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/lxstat.c b/ports/sysdeps/unix/sysv/linux/alpha/lxstat.c
deleted file mode 100644
index 7ecac57..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/lxstat.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* lxstat using old-style Unix stat system call.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __lxstat64 __lxstat64_disable
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <xstatconv.h>
-
-#undef __lxstat64
-
-
-/* Get information about the file NAME in BUF. */
-int
-__lxstat (int vers, const char *name, struct stat *buf)
-{
- INTERNAL_SYSCALL_DECL (err);
- int result;
- struct kernel_stat kbuf;
-
- if (vers == _STAT_VER_KERNEL64)
- {
- result = INTERNAL_SYSCALL (lstat64, err, 2, name, buf);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return result;
- __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
- return -1;
- }
-
- result = INTERNAL_SYSCALL (lstat, err, 2, name, &kbuf);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return __xstat_conv (vers, &kbuf, buf);
- __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
- return -1;
-}
-hidden_def (__lxstat)
-weak_alias (__lxstat, _lxstat);
-strong_alias (__lxstat, __lxstat64);
-hidden_ver (__lxstat, __lxstat64)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/makecontext.S b/ports/sysdeps/unix/sysv/linux/alpha/makecontext.S
deleted file mode 100644
index 40ffd20..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/makecontext.S
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <ucontext-offsets.h>
-
-
-ENTRY(__makecontext)
- ldgp $29, 0($27)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- /* Compute top of stack, including arguments. */
- ldq $1, UC_STACK+SS_SP($16)
- ldq $2, UC_STACK+SS_SIZE($16)
- addq $1, $2, $8
- subq $18, 6, $1
- cmovlt $1, 0, $1
- s8addq $1, 0, $2
- subq $8, $2, $8
-
- /* Copy all parameters. Switch statement header here. */
- ldah $3, $jumptable($29) !gprelhigh
- cmple $18, 6, $1
- mov $18, $2
- cmoveq $1, 7, $2
- s4addq $2, $3, $3
- ldl $4, $jumptable($3) !gprellow
- addq $4, $29, $4
- jmp $31, ($4), $args1
-
- .section .rodata
- .align 2
-$jumptable:
- .gprel32 $args0
- .gprel32 $args1
- .gprel32 $args2
- .gprel32 $args3
- .gprel32 $args4
- .gprel32 $args5
- .gprel32 $args6
- .gprel32 $argsN
- .text
-
- /* Here we process arguments 7 through N. This is a straight
- stack-to-stack copy. */
- .align 4
-$argsN:
- subq $18, 6, $1
- lda $2, 0($8)
- lda $3, 3*8($30)
- .align 4
-1:
- ldq $0, 0($3)
- subq $1, 1, $1
- lda $3, 8($3)
- stq $0, 0($2)
- lda $2, 8($2)
- bne $1, 1b
-
- /* Here we process arguments 6 through 0. This involves
- copying into the register save areas of the ucontext. */
- .align 4
-$args6:
- ldq $0, 2*8($30)
- stq $0, UC_SIGCTX+SC_REGS+21*8($16)
- unop
- stq $0, UC_SIGCTX+SC_FPREGS+21*8($16)
-$args5:
- ldq $0, 1*8($30)
- stq $0, UC_SIGCTX+SC_REGS+20*8($16)
- unop
- stq $0, UC_SIGCTX+SC_FPREGS+20*8($16)
-$args4:
- ldq $0, 0*8($30)
- stq $0, UC_SIGCTX+SC_REGS+19*8($16)
- unop
- stq $0, UC_SIGCTX+SC_FPREGS+19*8($16)
-$args3:
- unop
- stq $21, UC_SIGCTX+SC_REGS+18*8($16)
- unop
- stt $f21, UC_SIGCTX+SC_FPREGS+18*8($16)
-$args2:
- unop
- stq $20, UC_SIGCTX+SC_REGS+17*8($16)
- unop
- stt $f20, UC_SIGCTX+SC_FPREGS+17*8($16)
-$args1:
- unop
- stq $19, UC_SIGCTX+SC_REGS+16*8($16)
- unop
- stt $f19, UC_SIGCTX+SC_FPREGS+16*8($16)
-$args0:
-
- /* Set up the registers ready to invoke __startcontext.
- We seed $27 with the target function address, and $9
- with the link from ucp. */
- ldah $0, __startcontext($29) !gprelhigh
- ldq $1, UC_LINK($16)
- lda $0, __startcontext($0) !gprellow
- stq $17, UC_SIGCTX+SC_REGS+27*8($16)
- stq $8, UC_SIGCTX+SC_REGS+30*8($16)
- stq $0, UC_SIGCTX+SC_PC($16)
- stq $1, UC_SIGCTX+SC_REGS+9*8($16)
-
- /* No return value from makecontext. */
- ret
-
-END(__makecontext)
-weak_alias (__makecontext, makecontext)
-
-/* This function is where a new makecontext "thread" begins life.
- We have already set up $27 for calling the target function, and
- we've set $9 to the UC_LINK of the parent context.
-
- If the function returns, we either jump to the linked context
- (if non-null) or exit. */
-
- .align 4
- .ent __startcontext
-__startcontext:
- .frame $31, 0, $31, 0
- .prologue 0
-
- jsr $26, ($27), 0
- ldgp $29, 0($26)
- mov $9, $16
- beq $9, 1f
-
-#ifdef PIC
- bsr $26, __setcontext !samegp
-1: mov $31, $16
- bsr $26, HIDDEN_JUMPTARGET(exit) !samegp
-#else
- jsr $26, __setcontext
- ldgp $29, 0($26)
-1: mov $31, $16
- jsr $26, HIDDEN_JUMPTARGET(exit)
-#endif
-
- halt
-
- .end __startcontext
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c b/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
deleted file mode 100644
index d65a5b9..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/msgctl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/arm/msgctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h b/ports/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h
deleted file mode 100644
index bd985cc..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nldbl-abi.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* ABI version for long double switch.
- This is used by the Versions and math_ldbl_opt.h files in
- sysdeps/ieee754/ldbl-opt/. It gives the ABI version where
- long double == double was replaced with proper long double
- for libm *l functions and libc functions using long double. */
-
-#define NLDBL_VERSION GLIBC_2.4
-#define LONG_DOUBLE_COMPAT_VERSION GLIBC_2_4
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/Makefile b/ports/sysdeps/unix/sysv/linux/alpha/nptl/Makefile
deleted file mode 100644
index 8c80840..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
-libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/Versions b/ports/sysdeps/unix/sysv/linux/alpha/nptl/Versions
deleted file mode 100644
index 437c4da..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/Versions
+++ /dev/null
@@ -1,13 +0,0 @@
-libpthread {
- GLIBC_2.3.3 {
- # Changed PTHREAD_STACK_MIN.
- pthread_attr_setstack; pthread_attr_setstacksize;
- }
-}
-librt {
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_create; timer_delete; timer_getoverrun; timer_gettime;
- timer_settime;
- }
-}
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c
deleted file mode 100644
index 0d6da82..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include <shlib-compat.h>
-
-#define aio_cancel64 XXX
-#include <aio.h>
-#undef aio_cancel64
-#include <errno.h>
-
-extern __typeof (aio_cancel) __new_aio_cancel;
-extern __typeof (aio_cancel) __old_aio_cancel;
-
-#define aio_cancel __new_aio_cancel
-
-#include <sysdeps/pthread/aio_cancel.c>
-
-#undef aio_cancel
-strong_alias (__new_aio_cancel, __new_aio_cancel64);
-versioned_symbol (librt, __new_aio_cancel, aio_cancel, GLIBC_2_3);
-versioned_symbol (librt, __new_aio_cancel64, aio_cancel64, GLIBC_2_3);
-
-#if SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_3)
-
-#undef ECANCELED
-#define aio_cancel __old_aio_cancel
-#define ECANCELED 125
-
-#include <sysdeps/pthread/aio_cancel.c>
-
-#undef aio_cancel
-strong_alias (__old_aio_cancel, __old_aio_cancel64);
-compat_symbol (librt, __old_aio_cancel, aio_cancel, GLIBC_2_1);
-compat_symbol (librt, __old_aio_cancel64, aio_cancel64, GLIBC_2_1);
-
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h b/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h
deleted file mode 100644
index 950273e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Minimum guaranteed maximum values for system limits. Linux/Alpha version.
- Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* The kernel header pollutes the namespace with the NR_OPEN symbol
- and defines LINK_MAX although filesystems have different maxima. A
- similar thing is true for OPEN_MAX: the limit can be changed at
- runtime and therefore the macro must not be defined. Remove this
- after including the header if necessary. */
-#ifndef NR_OPEN
-# define __undef_NR_OPEN
-#endif
-#ifndef LINK_MAX
-# define __undef_LINK_MAX
-#endif
-#ifndef OPEN_MAX
-# define __undef_OPEN_MAX
-#endif
-#ifndef ARG_MAX
-# define __undef_ARG_MAX
-#endif
-
-/* The kernel sources contain a file with all the needed information. */
-#include <linux/limits.h>
-
-/* Have to remove NR_OPEN? */
-#ifdef __undef_NR_OPEN
-# undef NR_OPEN
-# undef __undef_NR_OPEN
-#endif
-/* Have to remove LINK_MAX? */
-#ifdef __undef_LINK_MAX
-# undef LINK_MAX
-# undef __undef_LINK_MAX
-#endif
-/* Have to remove OPEN_MAX? */
-#ifdef __undef_OPEN_MAX
-# undef OPEN_MAX
-# undef __undef_OPEN_MAX
-#endif
-/* Have to remove ARG_MAX? */
-#ifdef __undef_ARG_MAX
-# undef ARG_MAX
-# undef __undef_ARG_MAX
-#endif
-
-/* The number of data keys per process. */
-#define _POSIX_THREAD_KEYS_MAX 128
-/* This is the value this implementation supports. */
-#define PTHREAD_KEYS_MAX 1024
-
-/* Controlling the iterations of destructors for thread-specific data. */
-#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
-/* Number of iterations this implementation does. */
-#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
-
-/* The number of threads per process. */
-#define _POSIX_THREAD_THREADS_MAX 64
-/* We have no predefined limit on the number of threads. */
-#undef PTHREAD_THREADS_MAX
-
-/* Maximum amount by which a process can descrease its asynchronous I/O
- priority level. */
-#define AIO_PRIO_DELTA_MAX 20
-
-/* Minimum size for a thread. We are free to choose a reasonable value. */
-#define PTHREAD_STACK_MIN 24576
-
-/* Maximum number of timer expiration overruns. */
-#define DELAYTIMER_MAX 2147483647
-
-/* Maximum tty name length. */
-#define TTY_NAME_MAX 32
-
-/* Maximum login name length. This is arbitrary. */
-#define LOGIN_NAME_MAX 256
-
-/* Maximum host name length. */
-#define HOST_NAME_MAX 64
-
-/* Maximum message queue priority level. */
-#define MQ_PRIO_MAX 32768
-
-/* Maximum value the semaphore can have. */
-#define SEM_VALUE_MAX (2147483647)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h b/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
deleted file mode 100644
index 6f85eae..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/* Machine-specific pthread type layouts. Alpha version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _BITS_PTHREADTYPES_H
-#define _BITS_PTHREADTYPES_H 1
-
-#define __SIZEOF_PTHREAD_ATTR_T 56
-#define __SIZEOF_PTHREAD_MUTEX_T 40
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCK_T 56
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIER_T 32
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-
-/* Thread identifiers. The structure of the attribute type is
- deliberately not exposed. */
-typedef unsigned long int pthread_t;
-
-
-union pthread_attr_t
-{
- char __size[__SIZEOF_PTHREAD_ATTR_T];
- long int __align;
-};
-#ifndef __have_pthread_attr_t
-typedef union pthread_attr_t pthread_attr_t;
-# define __have_pthread_attr_t 1
-#endif
-
-typedef struct __pthread_internal_list
-{
- struct __pthread_internal_list *__prev;
- struct __pthread_internal_list *__next;
-} __pthread_list_t;
-
-
-/* Data structures for mutex handling. The structure of the attribute
- type is deliberately not exposed. */
-typedef union
-{
- struct __pthread_mutex_s
- {
- int __lock;
- unsigned int __count;
- int __owner;
- unsigned int __nusers;
- /* KIND must stay at this position in the structure to maintain
- binary compatibility. */
- int __kind;
- int __spins;
- __pthread_list_t __list;
-#define __PTHREAD_MUTEX_HAVE_PREV 1
- } __data;
- char __size[__SIZEOF_PTHREAD_MUTEX_T];
- long int __align;
-} pthread_mutex_t;
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
- int __align;
-} pthread_mutexattr_t;
-
-
-/* Data structure for conditional variable handling. The structure of
- the attribute type is deliberately not exposed. */
-typedef union
-{
- struct
- {
- int __lock;
- unsigned int __futex;
- __extension__ unsigned long long int __total_seq;
- __extension__ unsigned long long int __wakeup_seq;
- __extension__ unsigned long long int __woken_seq;
- void *__mutex;
- unsigned int __nwaiters;
- unsigned int __broadcast_seq;
- } __data;
- char __size[__SIZEOF_PTHREAD_COND_T];
- __extension__ long long int __align;
-} pthread_cond_t;
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_CONDATTR_T];
- int __align;
-} pthread_condattr_t;
-
-
-/* Keys for thread-specific data */
-typedef unsigned int pthread_key_t;
-
-
-/* Once-only execution */
-typedef int pthread_once_t;
-
-
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K
-/* Data structure for read-write lock variable handling. The
- structure of the attribute type is deliberately not exposed. */
-typedef union
-{
- struct
- {
- int __lock;
- unsigned int __nr_readers;
- unsigned int __readers_wakeup;
- unsigned int __writer_wakeup;
- unsigned int __nr_readers_queued;
- unsigned int __nr_writers_queued;
- int __writer;
- int __shared;
- unsigned long int __pad1;
- unsigned long int __pad2;
- /* FLAGS must stay at this position in the structure to maintain
- binary compatibility. */
- unsigned int __flags;
- } __data;
- char __size[__SIZEOF_PTHREAD_RWLOCK_T];
- long int __align;
-} pthread_rwlock_t;
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
- long int __align;
-} pthread_rwlockattr_t;
-#endif
-
-
-#ifdef __USE_XOPEN2K
-/* POSIX spinlock data type. */
-typedef volatile int pthread_spinlock_t;
-
-/* POSIX barriers data type. The structure of the type is
- deliberately not exposed. */
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_BARRIER_T];
- long int __align;
-} pthread_barrier_t;
-
-typedef union
-{
- char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
- int __align;
-} pthread_barrierattr_t;
-#endif
-
-
-#endif /* bits/pthreadtypes.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h b/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h
deleted file mode 100644
index 4e30f94..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Machine-specific POSIX semaphore type layouts. Alpha version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SEMAPHORE_H
-# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
-#endif
-
-# define __SIZEOF_SEM_T 32
-
-/* Value returned if `sem_open' failed. */
-#define SEM_FAILED ((sem_t *) 0)
-
-
-typedef union
-{
- char __size[__SIZEOF_SEM_T];
- long int __align;
-} sem_t;
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data b/ports/sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data
deleted file mode 100644
index f264ed8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data
+++ /dev/null
@@ -1,67 +0,0 @@
-blkcnt64_t:m
-blkcnt_t:j
-blksize_t:j
-caddr_t:Pc
-clockid_t:i
-clock_t:l
-daddr_t:i
-dev_t:m
-fd_mask:l
-fsblkcnt64_t:l
-fsblkcnt_t:i
-fsfilcnt64_t:m
-fsfilcnt_t:j
-fsid_t:8__fsid_t
-gid_t:j
-id_t:j
-ino64_t:m
-ino_t:j
-int16_t:s
-int32_t:i
-int64_t:l
-int8_t:a
-intptr_t:l
-key_t:i
-loff_t:l
-mode_t:j
-nlink_t:j
-off64_t:l
-off_t:l
-pid_t:i
-pthread_attr_t:14pthread_attr_t
-pthread_barrier_t:17pthread_barrier_t
-pthread_barrierattr_t:21pthread_barrierattr_t
-pthread_cond_t:14pthread_cond_t
-pthread_condattr_t:18pthread_condattr_t
-pthread_key_t:j
-pthread_mutex_t:15pthread_mutex_t
-pthread_mutexattr_t:19pthread_mutexattr_t
-pthread_once_t:i
-pthread_rwlock_t:16pthread_rwlock_t
-pthread_rwlockattr_t:20pthread_rwlockattr_t
-pthread_spinlock_t:i
-pthread_t:m
-quad_t:l
-register_t:l
-rlim64_t:m
-rlim_t:m
-sigset_t:10__sigset_t
-size_t:m
-socklen_t:j
-ssize_t:l
-suseconds_t:l
-time_t:l
-u_char:h
-uid_t:j
-uint:j
-u_int:j
-u_int16_t:t
-u_int32_t:j
-u_int64_t:m
-u_int8_t:h
-ulong:m
-u_long:m
-u_quad_t:m
-useconds_t:j
-ushort:t
-u_short:t
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/clone.S b/ports/sysdeps/unix/sysv/linux/alpha/nptl/clone.S
deleted file mode 100644
index 675a997..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/clone.S
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
- So, #include ourselves and in that incarnation we can use #include_next. */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/createthread.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/createthread.c
deleted file mode 100644
index 9e88ae9..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/createthread.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* Value passed to 'clone' for initialization of the thread register. */
-#define TLS_VALUE (pd + 1)
-
-/* Get the real implementation. */
-#include <nptl/sysdeps/pthread/createthread.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c
deleted file mode 100644
index 72ea3cc..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/fork.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sched.h>
-#include <signal.h>
-#include <sysdep.h>
-#include <tls.h>
-
-
-#define ARCH_FORK() \
- INLINE_SYSCALL (clone, 5, \
- CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \
- NULL, NULL, &THREAD_SELF->tid, NULL)
-
-#include <sysdeps/unix/sysv/linux/fork.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist
deleted file mode 100644
index 23ff7fa..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist
+++ /dev/null
@@ -1,18 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __libc_memalign F
- _r_debug D 0x28
- calloc F
- free F
- malloc F
- realloc F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_stack_end D 0x8
- _dl_mcount F
-GLIBC_2.3
- GLIBC_2.3 A
- __tls_get_addr F
-GLIBC_2.4
- GLIBC_2.4 A
- __stack_chk_guard D 0x8
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist
deleted file mode 100644
index f4ca37f..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist
+++ /dev/null
@@ -1,3 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __ctype_get_mb_cur_max F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist
deleted file mode 100644
index c9755d8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- gai_cancel F
- gai_error F
- gai_suspend F
- getaddrinfo_a F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
deleted file mode 100644
index 980e088..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
+++ /dev/null
@@ -1,2511 +0,0 @@
-GCC_3.0
- GCC_3.0 A
- _Unwind_Find_FDE F
- __deregister_frame_info_bases F
- __register_frame_info_bases F
- __register_frame_info_table_bases F
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_adjust_column F
- _IO_default_doallocate F
- _IO_default_finish F
- _IO_default_pbackfail F
- _IO_default_uflow F
- _IO_default_xsgetn F
- _IO_default_xsputn F
- _IO_do_write F
- _IO_doallocbuf F
- _IO_fclose F
- _IO_fdopen F
- _IO_feof F
- _IO_ferror F
- _IO_fflush F
- _IO_fgetpos F
- _IO_fgets F
- _IO_file_attach F
- _IO_file_close F
- _IO_file_close_it F
- _IO_file_doallocate F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_jumps D 0xa8
- _IO_file_open F
- _IO_file_overflow F
- _IO_file_read F
- _IO_file_seek F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_stat F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_flockfile F
- _IO_flush_all F
- _IO_flush_all_linebuffered F
- _IO_fopen F
- _IO_fprintf F
- _IO_fputs F
- _IO_fread F
- _IO_free_backup_area F
- _IO_fsetpos F
- _IO_ftell F
- _IO_ftrylockfile F
- _IO_funlockfile F
- _IO_fwrite F
- _IO_getc F
- _IO_getline F
- _IO_gets F
- _IO_init F
- _IO_init_marker F
- _IO_link_in F
- _IO_list_all D 0x8
- _IO_marker_delta F
- _IO_marker_difference F
- _IO_padn F
- _IO_peekc_locked F
- _IO_popen F
- _IO_printf F
- _IO_proc_close F
- _IO_proc_open F
- _IO_putc F
- _IO_puts F
- _IO_remove_marker F
- _IO_seekmark F
- _IO_seekoff F
- _IO_seekpos F
- _IO_setb F
- _IO_setbuffer F
- _IO_setvbuf F
- _IO_sgetn F
- _IO_sprintf F
- _IO_sputbackc F
- _IO_sscanf F
- _IO_stderr_ D 0x98
- _IO_stdin_ D 0x98
- _IO_stdout_ D 0x98
- _IO_str_init_readonly F
- _IO_str_init_static F
- _IO_str_overflow F
- _IO_str_pbackfail F
- _IO_str_seekoff F
- _IO_str_underflow F
- _IO_sungetc F
- _IO_switch_to_get_mode F
- _IO_un_link F
- _IO_ungetc F
- _IO_unsave_markers F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __adjtimex F
- __after_morecore_hook D 0x8
- __argz_count F
- __argz_next F
- __argz_stringify F
- __assert_fail F
- __assert_perror_fail F
- __bsd_getpgrp F
- __bzero F
- __check_rhosts_file D 0x4
- __clone F
- __close F
- __cmsg_nxthdr F
- __connect F
- __ctype32_b D 0x8
- __ctype_b D 0x8
- __ctype_get_mb_cur_max F
- __ctype_tolower D 0x8
- __ctype_toupper D 0x8
- __curbrk D 0x8
- __daylight D 0x4
- __dcgettext F
- __default_morecore F
- __deregister_frame F
- __deregister_frame_info F
- __dgettext F
- __divl F
- __divlu F
- __divq F
- __divqu F
- __dup2 F
- __environ D 0x8
- __errno_location F
- __fcntl F
- __ffs F
- __finite F
- __finitef F
- __finitel F
- __fork F
- __fpu_control D 0x4
- __frame_state_for F
- __free_hook D 0x8
- __fxstat F
- __getdelim F
- __getpagesize F
- __getpgid F
- __getpid F
- __gettimeofday F
- __gmtime_r F
- __h_errno_location F
- __ieee_get_fp_control F
- __ieee_set_fp_control F
- __isinf F
- __isinff F
- __isinfl F
- __isnan F
- __isnanf F
- __isnanl F
- __iswctype F
- __ivaliduser F
- __libc_calloc F
- __libc_free F
- __libc_init_first F
- __libc_mallinfo F
- __libc_malloc F
- __libc_mallopt F
- __libc_memalign F
- __libc_pvalloc F
- __libc_realloc F
- __libc_start_main F
- __libc_valloc F
- __lseek F
- __lxstat F
- __malloc_hook D 0x8
- __malloc_initialize_hook D 0x8
- __mbrlen F
- __mbrtowc F
- __memalign_hook D 0x8
- __mempcpy F
- __monstartup F
- __morecore D 0x8
- __nss_configure_lookup F
- __nss_database_lookup F
- __nss_group_lookup F
- __nss_hosts_lookup F
- __nss_next F
- __nss_passwd_lookup F
- __open F
- __overflow F
- __pipe F
- __printf_fp F
- __profile_frequency F
- __progname D 0x8
- __progname_full D 0x8
- __rcmd_errstr D 0x8
- __read F
- __realloc_hook D 0x8
- __register_frame F
- __register_frame_info F
- __register_frame_info_table F
- __register_frame_table F
- __reml F
- __remlu F
- __remq F
- __remqu F
- __res_randomid F
- __sbrk F
- __sched_get_priority_max F
- __sched_get_priority_min F
- __sched_getparam F
- __sched_getscheduler F
- __sched_setscheduler F
- __sched_yield F
- __secure_getenv F
- __select F
- __send F
- __setpgid F
- __sigaction F
- __sigaddset F
- __sigdelset F
- __sigismember F
- __sigpause F
- __sigsetjmp F
- __stpcpy F
- __stpncpy F
- __strcasecmp F
- __strdup F
- __strerror_r F
- __strtod_internal F
- __strtof_internal F
- __strtok_r F
- __strtol_internal F
- __strtold_internal F
- __strtoll_internal F
- __strtoul_internal F
- __strtoull_internal F
- __sysv_signal F
- __timezone D 0x8
- __tzname D 0x10
- __uflow F
- __underflow F
- __vfscanf F
- __vsnprintf F
- __vsscanf F
- __wait F
- __waitpid F
- __wcstod_internal F
- __wcstof_internal F
- __wcstol_internal F
- __wcstold_internal F
- __wcstoll_internal F
- __wcstoul_internal F
- __wcstoull_internal F
- __write F
- __xmknod F
- __xpg_basename F
- __xstat F
- _bus_base F
- _bus_base_sparse F
- _environ D 0x8
- _exit F
- _hae_shift F
- _inb F
- _inl F
- _inw F
- _libc_intl_domainname D 0x5
- _longjmp F
- _mcleanup F
- _mcount F
- _nl_default_dirname D 0x12
- _nl_domain_bindings D 0x8
- _nl_msg_cat_cntr D 0x4
- _null_auth D 0x18
- _obstack D 0x8
- _obstack_allocated_p F
- _obstack_begin F
- _obstack_begin_1 F
- _obstack_free F
- _obstack_memory_used F
- _obstack_newchunk F
- _outb F
- _outl F
- _outw F
- _res D 0x238
- _rpc_dtablesize F
- _seterr_reply F
- _setjmp F
- _sys_errlist D 0x418
- _sys_nerr D 0x4
- _sys_siglist D 0x100
- _tolower F
- _toupper F
- a64l F
- abort F
- abs F
- accept F
- access F
- acct F
- addmntent F
- adjtime F
- adjtimex F
- advance F
- alarm F
- alphasort F
- argz_add F
- argz_add_sep F
- argz_append F
- argz_count F
- argz_create F
- argz_create_sep F
- argz_delete F
- argz_extract F
- argz_insert F
- argz_next F
- argz_replace F
- argz_stringify F
- asctime F
- asctime_r F
- asprintf F
- atexit F
- atof F
- atoi F
- atol F
- atoll F
- authnone_create F
- authunix_create F
- authunix_create_default F
- basename F
- bcmp F
- bcopy F
- bdflush F
- bind F
- bindresvport F
- bindtextdomain F
- brk F
- bsd_signal F
- bsearch F
- btowc F
- bus_base F
- bus_base_sparse F
- bzero F
- calloc F
- callrpc F
- canonicalize_file_name F
- catclose F
- catgets F
- catopen F
- cfgetispeed F
- cfgetospeed F
- cfmakeraw F
- cfree F
- cfsetispeed F
- cfsetospeed F
- cfsetspeed F
- chdir F
- chflags F
- chmod F
- chown F
- chroot F
- clearenv F
- clearerr F
- clearerr_unlocked F
- clnt_broadcast F
- clnt_create F
- clnt_pcreateerror F
- clnt_perrno F
- clnt_perror F
- clnt_spcreateerror F
- clnt_sperrno F
- clnt_sperror F
- clntraw_create F
- clnttcp_create F
- clntudp_bufcreate F
- clntudp_create F
- clock F
- clone F
- close F
- closedir F
- closelog F
- confstr F
- connect F
- copysign F
- copysignf F
- copysignl F
- creat F
- create_module F
- ctermid F
- ctime F
- ctime_r F
- cuserid F
- daemon F
- daylight D 0x4
- dcgettext F
- delete_module F
- dgettext F
- difftime F
- dirfd F
- dirname F
- div F
- dprintf F
- drand48 F
- drand48_r F
- dup F
- dup2 F
- dysize F
- ecvt F
- ecvt_r F
- endaliasent F
- endfsent F
- endgrent F
- endhostent F
- endmntent F
- endnetent F
- endnetgrent F
- endprotoent F
- endpwent F
- endrpcent F
- endservent F
- endspent F
- endttyent F
- endusershell F
- endutent F
- environ D 0x8
- envz_add F
- envz_entry F
- envz_get F
- envz_merge F
- envz_remove F
- envz_strip F
- erand48 F
- erand48_r F
- err F
- error F
- error_at_line F
- error_message_count D 0x4
- error_one_per_line D 0x4
- error_print_progname D 0x8
- errx F
- ether_aton F
- ether_aton_r F
- ether_hostton F
- ether_line F
- ether_ntoa F
- ether_ntoa_r F
- ether_ntohost F
- euidaccess F
- execl F
- execle F
- execlp F
- execv F
- execve F
- execvp F
- exit F
- fchdir F
- fchflags F
- fchmod F
- fchown F
- fclose F
- fcloseall F
- fcntl F
- fcvt F
- fcvt_r F
- fdatasync F
- fdopen F
- feof F
- feof_unlocked F
- ferror F
- ferror_unlocked F
- fexecve F
- fflush F
- fflush_unlocked F
- ffs F
- fgetc F
- fgetgrent F
- fgetgrent_r F
- fgetpos F
- fgetpwent F
- fgetpwent_r F
- fgets F
- fgetspent F
- fgetspent_r F
- fileno F
- fileno_unlocked F
- finite F
- finitef F
- finitel F
- flock F
- flockfile F
- fnmatch F
- fopen F
- fopencookie F
- fork F
- fpathconf F
- fprintf F
- fputc F
- fputc_unlocked F
- fputs F
- fread F
- free F
- freeaddrinfo F
- freopen F
- frexp F
- frexpf F
- frexpl F
- fscanf F
- fseek F
- fsetpos F
- fstatfs F
- fsync F
- ftell F
- ftime F
- ftok F
- ftruncate F
- ftrylockfile F
- fts_children F
- fts_close F
- fts_open F
- fts_read F
- fts_set F
- ftw F
- funlockfile F
- fwrite F
- gcvt F
- get_avphys_pages F
- get_current_dir_name F
- get_kernel_syms F
- get_myaddress F
- get_nprocs F
- get_nprocs_conf F
- get_phys_pages F
- getaddrinfo F
- getaliasbyname F
- getaliasbyname_r F
- getaliasent F
- getaliasent_r F
- getc F
- getc_unlocked F
- getchar F
- getchar_unlocked F
- getcwd F
- getdelim F
- getdirentries F
- getdomainname F
- getdtablesize F
- getegid F
- getenv F
- geteuid F
- getfsent F
- getfsfile F
- getfsspec F
- getgid F
- getgrent F
- getgrent_r F
- getgrgid F
- getgrgid_r F
- getgrnam F
- getgrnam_r F
- getgroups F
- gethostbyaddr F
- gethostbyaddr_r F
- gethostbyname F
- gethostbyname2 F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent F
- gethostent_r F
- gethostid F
- gethostname F
- getitimer F
- getline F
- getlogin F
- getlogin_r F
- getmntent F
- getmntent_r F
- getnetbyaddr F
- getnetbyaddr_r F
- getnetbyname F
- getnetbyname_r F
- getnetent F
- getnetent_r F
- getnetgrent F
- getnetgrent_r F
- getopt F
- getopt_long F
- getopt_long_only F
- getpagesize F
- getpass F
- getpeername F
- getpgid F
- getpgrp F
- getpid F
- getppid F
- getpriority F
- getprotobyname F
- getprotobyname_r F
- getprotobynumber F
- getprotobynumber_r F
- getprotoent F
- getprotoent_r F
- getpublickey F
- getpw F
- getpwent F
- getpwent_r F
- getpwnam F
- getpwnam_r F
- getpwuid F
- getpwuid_r F
- getresgid F
- getresuid F
- getrlimit F
- getrpcbyname F
- getrpcbyname_r F
- getrpcbynumber F
- getrpcbynumber_r F
- getrpcent F
- getrpcent_r F
- getrpcport F
- getrusage F
- gets F
- getsecretkey F
- getservbyname F
- getservbyname_r F
- getservbyport F
- getservbyport_r F
- getservent F
- getservent_r F
- getsid F
- getsockname F
- getsockopt F
- getspent F
- getspent_r F
- getspnam F
- getspnam_r F
- getsubopt F
- gettext F
- gettimeofday F
- getttyent F
- getttynam F
- getuid F
- getusershell F
- getutent F
- getutent_r F
- getutid F
- getutid_r F
- getutline F
- getutline_r F
- getw F
- getwd F
- glob F
- glob_pattern_p F
- globfree F
- gmtime F
- gmtime_r F
- group_member F
- gsignal F
- gtty F
- h_errlist D 0x28
- h_nerr D 0x4
- hae_shift F
- hasmntopt F
- hcreate F
- hcreate_r F
- hdestroy F
- hdestroy_r F
- herror F
- hsearch F
- hsearch_r F
- hstrerror F
- htonl F
- htons F
- inb F
- index F
- inet_addr F
- inet_aton F
- inet_lnaof F
- inet_makeaddr F
- inet_netof F
- inet_network F
- inet_nsap_addr F
- inet_nsap_ntoa F
- inet_ntoa F
- inet_ntop F
- inet_pton F
- init_module F
- initgroups F
- initstate F
- initstate_r F
- inl F
- innetgr F
- insque F
- inw F
- ioctl F
- ioperm F
- iopl F
- iruserok F
- isalnum F
- isalpha F
- isascii F
- isatty F
- isblank F
- iscntrl F
- isdigit F
- isfdtype F
- isgraph F
- isinf F
- isinff F
- isinfl F
- islower F
- isnan F
- isnanf F
- isnanl F
- isprint F
- ispunct F
- isspace F
- isupper F
- iswalnum F
- iswalpha F
- iswcntrl F
- iswctype F
- iswdigit F
- iswgraph F
- iswlower F
- iswprint F
- iswpunct F
- iswspace F
- iswupper F
- iswxdigit F
- isxdigit F
- jrand48 F
- jrand48_r F
- kill F
- killpg F
- klogctl F
- l64a F
- labs F
- lchown F
- lckpwdf F
- lcong48 F
- lcong48_r F
- ldexp F
- ldexpf F
- ldexpl F
- ldiv F
- lfind F
- link F
- listen F
- llabs F
- lldiv F
- llseek F
- loc1 D 0x8
- loc2 D 0x8
- localeconv F
- localtime F
- localtime_r F
- lockf F
- locs D 0x8
- longjmp F
- lrand48 F
- lrand48_r F
- lsearch F
- lseek F
- madvise F
- mallinfo F
- malloc F
- malloc_get_state F
- malloc_set_state F
- malloc_stats F
- malloc_trim F
- malloc_usable_size F
- mallopt F
- mallwatch D 0x8
- mblen F
- mbrlen F
- mbrtowc F
- mbsinit F
- mbsnrtowcs F
- mbsrtowcs F
- mbstowcs F
- mbtowc F
- mcheck F
- mcount F
- memalign F
- memccpy F
- memchr F
- memcmp F
- memcpy F
- memfrob F
- memmem F
- memmove F
- memset F
- mkdir F
- mkfifo F
- mkstemp F
- mktemp F
- mktime F
- mlock F
- mlockall F
- mmap F
- modf F
- modff F
- modfl F
- monstartup F
- mount F
- mprobe F
- mprotect F
- mrand48 F
- mrand48_r F
- mremap F
- msgctl F
- msgget F
- msgrcv F
- msgsnd F
- msync F
- mtrace F
- munlock F
- munlockall F
- munmap F
- muntrace F
- nanosleep F
- nfsservctl F
- nice F
- nl_langinfo F
- nrand48 F
- nrand48_r F
- ntohl F
- ntohs F
- obstack_alloc_failed_handler D 0x8
- obstack_exit_failure D 0x4
- obstack_free F
- obstack_printf F
- obstack_vprintf F
- on_exit F
- open F
- open_memstream F
- opendir F
- openlog F
- optarg D 0x8
- opterr D 0x4
- optind D 0x4
- optopt D 0x4
- outb F
- outl F
- outw F
- parse_printf_format F
- pathconf F
- pause F
- pciconfig_read F
- pciconfig_write F
- pclose F
- perror F
- personality F
- pipe F
- pmap_getmaps F
- pmap_getport F
- pmap_rmtcall F
- pmap_set F
- pmap_unset F
- poll F
- popen F
- prctl F
- printf F
- profil F
- program_invocation_name D 0x8
- program_invocation_short_name D 0x8
- pselect F
- psignal F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_unlock F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- ptrace F
- putc F
- putc_unlocked F
- putchar F
- putchar_unlocked F
- putenv F
- putpwent F
- puts F
- putspent F
- pututline F
- putw F
- pvalloc F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- qsort F
- query_module F
- quotactl F
- raise F
- rand F
- rand_r F
- random F
- random_r F
- rcmd F
- re_comp F
- re_compile_fastmap F
- re_compile_pattern F
- re_exec F
- re_match F
- re_match_2 F
- re_max_failures D 0x4
- re_search F
- re_search_2 F
- re_set_registers F
- re_set_syntax F
- re_syntax_options D 0x8
- read F
- readdir F
- readdir_r F
- readlink F
- readv F
- realloc F
- realpath F
- reboot F
- recv F
- recvfrom F
- recvmsg F
- regcomp F
- regerror F
- regexec F
- regfree F
- register_printf_function F
- registerrpc F
- remove F
- remque F
- rename F
- res_init F
- revoke F
- rewind F
- rewinddir F
- rexec F
- rexecoptions D 0x4
- rindex F
- rmdir F
- rpc_createerr D 0x20
- rpmatch F
- rresvport F
- ruserok F
- ruserpass F
- sbrk F
- scalbn F
- scalbnf F
- scalbnl F
- scandir F
- scanf F
- sched_get_priority_max F
- sched_get_priority_min F
- sched_getparam F
- sched_getscheduler F
- sched_rr_get_interval F
- sched_setparam F
- sched_setscheduler F
- sched_yield F
- seed48 F
- seed48_r F
- seekdir F
- select F
- semctl F
- semget F
- semop F
- send F
- sendmsg F
- sendto F
- setaliasent F
- setbuf F
- setbuffer F
- setcontext F
- setdomainname F
- setegid F
- setenv F
- seteuid F
- setfsent F
- setfsgid F
- setfsuid F
- setgid F
- setgrent F
- setgroups F
- sethae F
- sethostent F
- sethostid F
- sethostname F
- setitimer F
- setjmp F
- setlinebuf F
- setlocale F
- setlogin F
- setlogmask F
- setmntent F
- setnetent F
- setnetgrent F
- setpgid F
- setpgrp F
- setpriority F
- setprotoent F
- setpwent F
- setregid F
- setresgid F
- setresuid F
- setreuid F
- setrlimit F
- setrpcent F
- setservent F
- setsid F
- setsockopt F
- setspent F
- setstate F
- setstate_r F
- settimeofday F
- setttyent F
- setuid F
- setusershell F
- setutent F
- setvbuf F
- sgetspent F
- sgetspent_r F
- shmat F
- shmctl F
- shmdt F
- shmget F
- shutdown F
- sigaction F
- sigaddset F
- sigaltstack F
- sigandset F
- sigblock F
- sigdelset F
- sigemptyset F
- sigfillset F
- siggetmask F
- siginterrupt F
- sigisemptyset F
- sigismember F
- siglongjmp F
- signal F
- sigorset F
- sigpause F
- sigpending F
- sigprocmask F
- sigreturn F
- sigsetmask F
- sigstack F
- sigsuspend F
- sigvec F
- sigwait F
- sleep F
- snprintf F
- socket F
- socketpair F
- sprintf F
- srand F
- srand48 F
- srand48_r F
- srandom F
- srandom_r F
- sscanf F
- ssignal F
- sstk F
- statfs F
- stderr D 0x8
- stdin D 0x8
- stdout D 0x8
- step F
- stime F
- stpcpy F
- stpncpy F
- strcasecmp F
- strcat F
- strchr F
- strcmp F
- strcoll F
- strcpy F
- strcspn F
- strdup F
- strerror F
- strerror_r F
- strfmon F
- strfry F
- strftime F
- strlen F
- strncasecmp F
- strncat F
- strncmp F
- strncpy F
- strndup F
- strnlen F
- strpbrk F
- strptime F
- strrchr F
- strsep F
- strsignal F
- strspn F
- strstr F
- strtod F
- strtof F
- strtok F
- strtok_r F
- strtol F
- strtold F
- strtoll F
- strtoq F
- strtoul F
- strtoull F
- strtouq F
- strxfrm F
- stty F
- svc_exit F
- svc_fdset D 0x80
- svc_getreq F
- svc_getreqset F
- svc_register F
- svc_run F
- svc_sendreply F
- svc_unregister F
- svcauthdes_stats D 0x18
- svcerr_auth F
- svcerr_decode F
- svcerr_noproc F
- svcerr_noprog F
- svcerr_progvers F
- svcerr_systemerr F
- svcerr_weakauth F
- svcfd_create F
- svcraw_create F
- svctcp_create F
- svcudp_bufcreate F
- svcudp_create F
- svcudp_enablecache F
- swab F
- swapoff F
- swapon F
- symlink F
- sync F
- sys_errlist D 0x418
- sys_nerr D 0x4
- sys_sigabbrev D 0x100
- sys_siglist D 0x100
- syscall F
- sysconf F
- sysctl F
- sysinfo F
- syslog F
- system F
- tcdrain F
- tcflow F
- tcflush F
- tcgetattr F
- tcgetpgrp F
- tcsendbreak F
- tcsetattr F
- tcsetpgrp F
- tdelete F
- telldir F
- tempnam F
- textdomain F
- tfind F
- time F
- timegm F
- timelocal F
- times F
- timezone D 0x8
- tmpfile F
- tmpnam F
- tmpnam_r F
- toascii F
- tolower F
- toupper F
- towctrans F
- towlower F
- towupper F
- tr_break F
- truncate F
- tsearch F
- ttyname F
- ttyname_r F
- ttyslot F
- twalk F
- tzname D 0x10
- tzset F
- ualarm F
- ulckpwdf F
- ulimit F
- umask F
- umount F
- uname F
- ungetc F
- unlink F
- unsetenv F
- updwtmp F
- uselib F
- usleep F
- ustat F
- utime F
- utimes F
- utmpname F
- valloc F
- vasprintf F
- vdprintf F
- verr F
- verrx F
- vfork F
- vfprintf F
- vfscanf F
- vhangup F
- vlimit F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vsyslog F
- vtimes F
- vwarn F
- vwarnx F
- wait F
- wait3 F
- wait4 F
- waitpid F
- warn F
- warnx F
- wcpcpy F
- wcpncpy F
- wcrtomb F
- wcscat F
- wcschr F
- wcscmp F
- wcscoll F
- wcscpy F
- wcscspn F
- wcsdup F
- wcslen F
- wcsncat F
- wcsncmp F
- wcsncpy F
- wcsnrtombs F
- wcspbrk F
- wcsrchr F
- wcsrtombs F
- wcsspn F
- wcsstr F
- wcstod F
- wcstof F
- wcstok F
- wcstol F
- wcstold F
- wcstombs F
- wcstoq F
- wcstoul F
- wcstouq F
- wcswidth F
- wcsxfrm F
- wctob F
- wctomb F
- wctrans F
- wctype F
- wcwidth F
- wmemchr F
- wmemcmp F
- wmemcpy F
- wmemmove F
- wmemset F
- write F
- writev F
- xdr_accepted_reply F
- xdr_array F
- xdr_authunix_parms F
- xdr_bool F
- xdr_bytes F
- xdr_callhdr F
- xdr_callmsg F
- xdr_char F
- xdr_cryptkeyarg F
- xdr_cryptkeyarg2 F
- xdr_cryptkeyres F
- xdr_des_block F
- xdr_double F
- xdr_enum F
- xdr_float F
- xdr_free F
- xdr_int F
- xdr_key_netstarg F
- xdr_key_netstres F
- xdr_keybuf F
- xdr_keystatus F
- xdr_long F
- xdr_netobj F
- xdr_opaque F
- xdr_opaque_auth F
- xdr_pmap F
- xdr_pmaplist F
- xdr_pointer F
- xdr_reference F
- xdr_rejected_reply F
- xdr_replymsg F
- xdr_rmtcall_args F
- xdr_rmtcallres F
- xdr_short F
- xdr_string F
- xdr_u_char F
- xdr_u_int F
- xdr_u_long F
- xdr_u_short F
- xdr_union F
- xdr_vector F
- xdr_void F
- xdr_wrapstring F
- xdrmem_create F
- xdrrec_create F
- xdrrec_endofrecord F
- xdrrec_eof F
- xdrrec_skiprecord F
- xdrstdio_create F
- xencrypt F
- xprt_register F
- xprt_unregister F
-GLIBC_2.1
- GLIBC_2.1 A
- _IO_2_1_stderr_ D 0xe0
- _IO_2_1_stdin_ D 0xe0
- _IO_2_1_stdout_ D 0xe0
- _IO_do_write F
- _IO_fclose F
- _IO_fdopen F
- _IO_fgetpos64 F
- _IO_file_attach F
- _IO_file_close_it F
- _IO_file_finish F
- _IO_file_fopen F
- _IO_file_init F
- _IO_file_overflow F
- _IO_file_seekoff F
- _IO_file_setbuf F
- _IO_file_sync F
- _IO_file_underflow F
- _IO_file_write F
- _IO_file_xsputn F
- _IO_fopen F
- _IO_fsetpos64 F
- _IO_getline_info F
- _IO_popen F
- _IO_proc_close F
- _IO_proc_open F
- __adjtimex F
- __asprintf F
- __backtrace F
- __backtrace_symbols F
- __backtrace_symbols_fd F
- __duplocale F
- __freelocale F
- __fxstat64 F
- __gettimeofday F
- __isalnum_l F
- __isalpha_l F
- __isascii_l F
- __isblank_l F
- __iscntrl_l F
- __isdigit_l F
- __isgraph_l F
- __islower_l F
- __isprint_l F
- __ispunct_l F
- __isspace_l F
- __isupper_l F
- __iswalnum_l F
- __iswalpha_l F
- __iswblank_l F
- __iswcntrl_l F
- __iswctype_l F
- __iswdigit_l F
- __iswgraph_l F
- __iswlower_l F
- __iswprint_l F
- __iswpunct_l F
- __iswspace_l F
- __iswupper_l F
- __iswxdigit_l F
- __isxdigit_l F
- __key_decryptsession_pk_LOCAL D 0x8
- __key_encryptsession_pk_LOCAL D 0x8
- __key_gendes_LOCAL D 0x8
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- __libc_freeres F
- __libc_sa_len F
- __lxstat64 F
- __newlocale F
- __poll F
- __pread64 F
- __pwrite64 F
- __rawmemchr F
- __select F
- __signbit F
- __signbitf F
- __strcasecmp_l F
- __strcasestr F
- __strcoll_l F
- __strfmon_l F
- __strncasecmp_l F
- __strtod_l F
- __strtof_l F
- __strtol_l F
- __strtold_l F
- __strtoll_l F
- __strtoul_l F
- __strtoull_l F
- __strxfrm_l F
- __toascii_l F
- __tolower_l F
- __toupper_l F
- __towctrans F
- __towctrans_l F
- __towlower_l F
- __towupper_l F
- __wcscasecmp_l F
- __wcscoll_l F
- __wcsncasecmp_l F
- __wcstod_l F
- __wcstof_l F
- __wcstol_l F
- __wcstold_l F
- __wcstoll_l F
- __wcstoul_l F
- __wcstoull_l F
- __wcsxfrm_l F
- __wctype_l F
- __xstat64 F
- _authenticate F
- _dl_mcount_wrapper F
- _dl_mcount_wrapper_check F
- _sys_errlist D 0x418
- _sys_nerr D 0x4
- _sys_siglist D 0x200
- addseverity F
- adjtime F
- adjtimex F
- alphasort64 F
- argp_err_exit_status D 0x4
- argp_error F
- argp_failure F
- argp_help F
- argp_parse F
- argp_program_bug_address D 0x8
- argp_program_version D 0x8
- argp_program_version_hook D 0x8
- argp_state_help F
- argp_usage F
- authdes_create F
- authdes_getucred F
- authdes_pk_create F
- backtrace F
- backtrace_symbols F
- backtrace_symbols_fd F
- capget F
- capset F
- cbc_crypt F
- clntunix_create F
- creat64 F
- des_setparity F
- ecb_crypt F
- endutxent F
- fattach F
- fclose F
- fdetach F
- fdopen F
- ffsl F
- ffsll F
- fgetc_unlocked F
- fgetpos64 F
- fgets_unlocked F
- fmtmsg F
- fopen F
- fopen64 F
- fputs_unlocked F
- fread_unlocked F
- freopen64 F
- fseeko F
- fseeko64 F
- fsetpos64 F
- fstatfs64 F
- fstatvfs F
- fstatvfs64 F
- ftello F
- ftello64 F
- ftruncate64 F
- ftw64 F
- fwrite_unlocked F
- gai_strerror F
- getcontext F
- getdate F
- getdate_err D 0x4
- getdate_r F
- getitimer F
- getmsg F
- getnameinfo F
- getnetname F
- getpmsg F
- getpt F
- getrlimit64 F
- getrusage F
- gettimeofday F
- getutxent F
- getutxid F
- getutxline F
- glob F
- glob64 F
- globfree F
- globfree64 F
- gnu_get_libc_release F
- gnu_get_libc_version F
- grantpt F
- host2netname F
- iconv F
- iconv_close F
- iconv_open F
- ieee_get_fp_control F
- ieee_set_fp_control F
- if_freenameindex F
- if_indextoname F
- if_nameindex F
- if_nametoindex F
- in6addr_any D 0x10
- in6addr_loopback D 0x10
- isastream F
- iswblank F
- key_decryptsession F
- key_decryptsession_pk F
- key_encryptsession F
- key_encryptsession_pk F
- key_gendes F
- key_get_conv F
- key_secretkey_is_set F
- key_setnet F
- key_setsecret F
- lockf64 F
- lseek64 F
- makecontext F
- mempcpy F
- mmap64 F
- netname2host F
- netname2user F
- nftw F
- nftw64 F
- ntp_adjtime F
- ntp_gettime F
- open64 F
- passwd2des F
- pclose F
- popen F
- pread F
- pread64 F
- printf_size F
- printf_size_info F
- pthread_attr_init F
- ptsname F
- ptsname_r F
- putgrent F
- putmsg F
- putpmsg F
- pututxline F
- pwrite F
- pwrite64 F
- rawmemchr F
- readdir64 F
- readdir64_r F
- rtime F
- scandir64 F
- select F
- sendfile F
- setitimer F
- setrlimit64 F
- settimeofday F
- setutxent F
- sighold F
- sigignore F
- sigqueue F
- sigrelse F
- sigset F
- sigtimedwait F
- sigwaitinfo F
- statfs64 F
- statvfs F
- statvfs64 F
- strcasestr F
- strtoimax F
- strtoumax F
- strverscmp F
- svcunix_create F
- svcunixfd_create F
- swapcontext F
- sys_errlist D 0x418
- sys_nerr D 0x4
- sys_sigabbrev D 0x200
- sys_siglist D 0x200
- sysv_signal F
- tcgetsid F
- tdestroy F
- tmpfile F
- tmpfile64 F
- truncate64 F
- umount2 F
- unlockpt F
- updwtmpx F
- user2netname F
- utimes F
- utmpxname F
- versionsort F
- versionsort64 F
- wait4 F
- waitid F
- wcscasecmp F
- wcsncasecmp F
- wcsnlen F
- wcstoimax F
- wcstoll F
- wcstoull F
- wcstoumax F
- wcswcs F
- wordexp F
- wordfree F
- xdecrypt F
- xdr_authdes_cred F
- xdr_authdes_verf F
- xdr_getcredres F
- xdr_int16_t F
- xdr_int32_t F
- xdr_int8_t F
- xdr_netnamestr F
- xdr_sizeof F
- xdr_uint16_t F
- xdr_uint32_t F
- xdr_uint8_t F
- xdr_unixcred F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- _Exit F
- __mempcpy_small F
- __stpcpy_small F
- __strcpy_small F
- __strcspn_c1 F
- __strcspn_c2 F
- __strcspn_c3 F
- __strpbrk_c2 F
- __strpbrk_c3 F
- __strsep_1c F
- __strsep_2c F
- __strsep_3c F
- __strsep_g F
- __strspn_c1 F
- __strspn_c2 F
- __strspn_c3 F
- __strtok_r_1c F
- __strverscmp F
- getutmp F
- getutmpx F
- imaxabs F
- imaxdiv F
- strchrnul F
- xdr_hyper F
- xdr_int64_t F
- xdr_longlong_t F
- xdr_u_hyper F
- xdr_u_longlong_t F
- xdr_uint64_t F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
- getaliasbyname_r F
- getaliasent_r F
- getgrent_r F
- getgrgid_r F
- getgrnam_r F
- gethostbyaddr_r F
- gethostbyname2_r F
- gethostbyname_r F
- gethostent_r F
- getnetbyaddr_r F
- getnetbyname_r F
- getnetent_r F
- getprotobyname_r F
- getprotobynumber_r F
- getprotoent_r F
- getpwent_r F
- getpwnam_r F
- getpwuid_r F
- getrpcbyname_r F
- getrpcbynumber_r F
- getrpcent_r F
- getservbyname_r F
- getservbyport_r F
- getservent_r F
- getspent_r F
- getspnam_r F
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- __cxa_atexit F
- __cxa_finalize F
- __sigsuspend F
-GLIBC_2.1.4
- GLIBC_2.1.4 A
- pciconfig_iobase F
-GLIBC_2.10
- GLIBC_2.10 A
- __cxa_at_quick_exit F
- __posix_getopt F
- accept4 F
- endsgent F
- fallocate F
- fallocate64 F
- fgetsgent F
- fgetsgent_r F
- getsgent F
- getsgent_r F
- getsgnam F
- getsgnam_r F
- malloc_info F
- preadv F
- preadv64 F
- psiginfo F
- putsgent F
- pwritev F
- pwritev64 F
- quick_exit F
- register_printf_modifier F
- register_printf_specifier F
- register_printf_type F
- setsgent F
- sgetsgent F
- sgetsgent_r F
-GLIBC_2.11
- GLIBC_2.11 A
- __longjmp_chk F
- execvpe F
- mkostemps F
- mkostemps64 F
- mkstemps F
- mkstemps64 F
-GLIBC_2.12
- GLIBC_2.12 A
- _sys_errlist D 0x458
- _sys_nerr D 0x4
- ntp_gettimex F
- recvmmsg F
- sys_errlist D 0x458
- sys_nerr D 0x4
-GLIBC_2.13
- GLIBC_2.13 A
- fanotify_init F
- fanotify_mark F
- prlimit F
- prlimit64 F
-GLIBC_2.14
- GLIBC_2.14 A
- clock_adjtime F
- name_to_handle_at F
- open_by_handle_at F
- sendmmsg F
- setns F
- syncfs F
-GLIBC_2.15
- GLIBC_2.15 A
- __fdelt_chk F
- __fdelt_warn F
- posix_spawn F
- posix_spawnp F
- process_vm_readv F
- process_vm_writev F
- scandirat F
- scandirat64 F
-GLIBC_2.16
- GLIBC_2.16 A
- __getauxval F
- __poll_chk F
- __ppoll_chk F
- _sys_errlist D 0x460
- _sys_nerr D 0x4
- aligned_alloc F
- c16rtomb F
- c32rtomb F
- getauxval F
- mbrtoc16 F
- mbrtoc32 F
- sys_errlist D 0x460
- sys_nerr D 0x4
- timespec_get F
-GLIBC_2.17
- GLIBC_2.17 A
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- secure_getenv F
-GLIBC_2.18
- GLIBC_2.18 A
- __cxa_thread_atexit_impl F
-GLIBC_2.2
- GLIBC_2.2 A
- _IO_adjust_wcolumn F
- _IO_fgetpos F
- _IO_fgetpos64 F
- _IO_free_wbackup_area F
- _IO_fsetpos F
- _IO_fsetpos64 F
- _IO_init_wmarker F
- _IO_iter_begin F
- _IO_iter_end F
- _IO_iter_file F
- _IO_iter_next F
- _IO_least_wmarker F
- _IO_list_lock F
- _IO_list_resetlock F
- _IO_list_unlock F
- _IO_seekwmark F
- _IO_sputbackwc F
- _IO_sungetwc F
- _IO_switch_to_main_wget_area F
- _IO_switch_to_wbackup_area F
- _IO_switch_to_wget_mode F
- _IO_unsave_wmarkers F
- _IO_wdefault_doallocate F
- _IO_wdefault_finish F
- _IO_wdefault_pbackfail F
- _IO_wdefault_uflow F
- _IO_wdefault_xsgetn F
- _IO_wdefault_xsputn F
- _IO_wdo_write F
- _IO_wdoallocbuf F
- _IO_wfile_jumps D 0xa8
- _IO_wfile_overflow F
- _IO_wfile_seekoff F
- _IO_wfile_sync F
- _IO_wfile_underflow F
- _IO_wfile_xsputn F
- _IO_wmarker_delta F
- _IO_wsetb F
- __assert F
- __ctype32_tolower D 0x8
- __ctype32_toupper D 0x8
- __cyg_profile_func_enter F
- __cyg_profile_func_exit F
- __endmntent F
- __fbufsize F
- __flbf F
- __fpending F
- __fpurge F
- __freadable F
- __freading F
- __fsetlocking F
- __fwritable F
- __fwriting F
- __getmntent_r F
- __nl_langinfo_l F
- __open64 F
- __res_init F
- __res_nclose F
- __res_ninit F
- __res_state F
- __setmntent F
- __statfs F
- __strndup F
- __sysconf F
- __sysctl F
- __wctrans_l F
- __woverflow F
- __wuflow F
- __wunderflow F
- __xpg_sigpause F
- _flushlbf F
- _res_hconf D 0x48
- bind_textdomain_codeset F
- dcngettext F
- dngettext F
- fgetpos F
- fgetpos64 F
- fgetwc F
- fgetwc_unlocked F
- fgetws F
- fgetws_unlocked F
- fmemopen F
- fopencookie F
- fputwc F
- fputwc_unlocked F
- fputws F
- fputws_unlocked F
- fsetpos F
- fsetpos64 F
- fwide F
- fwprintf F
- fwscanf F
- getdirentries64 F
- getloadavg F
- getwc F
- getwc_unlocked F
- getwchar F
- getwchar_unlocked F
- iruserok_af F
- localeconv F
- mcheck_check_all F
- mcheck_pedantic F
- memrchr F
- mincore F
- mkdtemp F
- mkstemp64 F
- moncontrol F
- msgctl F
- ngettext F
- posix_fadvise F
- posix_fadvise64 F
- posix_fallocate F
- posix_fallocate64 F
- posix_madvise F
- posix_memalign F
- posix_spawn F
- posix_spawn_file_actions_addclose F
- posix_spawn_file_actions_adddup2 F
- posix_spawn_file_actions_addopen F
- posix_spawn_file_actions_destroy F
- posix_spawn_file_actions_init F
- posix_spawnattr_destroy F
- posix_spawnattr_getflags F
- posix_spawnattr_getpgroup F
- posix_spawnattr_getschedparam F
- posix_spawnattr_getschedpolicy F
- posix_spawnattr_getsigdefault F
- posix_spawnattr_getsigmask F
- posix_spawnattr_init F
- posix_spawnattr_setflags F
- posix_spawnattr_setpgroup F
- posix_spawnattr_setschedparam F
- posix_spawnattr_setschedpolicy F
- posix_spawnattr_setsigdefault F
- posix_spawnattr_setsigmask F
- posix_spawnp F
- putwc F
- putwc_unlocked F
- putwchar F
- putwchar_unlocked F
- rcmd_af F
- rexec_af F
- rresvport_af F
- ruserok_af F
- semctl F
- shmctl F
- svc_getreq_common F
- svc_getreq_poll F
- svc_max_pollfd D 0x4
- svc_pollfd D 0x8
- swprintf F
- swscanf F
- ungetwc F
- vfwprintf F
- vfwscanf F
- vswprintf F
- vswscanf F
- vwprintf F
- vwscanf F
- wcschrnul F
- wcsftime F
- wmempcpy F
- wprintf F
- wscanf F
-GLIBC_2.2.1
- GLIBC_2.2.1 A
- pivot_root F
- posix_openpt F
-GLIBC_2.2.2
- GLIBC_2.2.2 A
- __nss_hostname_digits_dots F
- wordexp F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- __rpc_thread_createerr F
- __rpc_thread_svc_fdset F
- __rpc_thread_svc_max_pollfd F
- __rpc_thread_svc_pollfd F
- fnmatch F
- sprofil F
-GLIBC_2.2.4
- GLIBC_2.2.4 A
- dl_iterate_phdr F
- getgrouplist F
- sockatmark F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3
- GLIBC_2.3 A
- __ctype_b_loc F
- __ctype_tolower_loc F
- __ctype_toupper_loc F
- __isctype F
- __strftime_l F
- __uselocale F
- __wcsftime_l F
- _sys_errlist D 0x420
- _sys_nerr D 0x4
- duplocale F
- fgetxattr F
- flistxattr F
- freeifaddrs F
- freelocale F
- fremovexattr F
- fsetxattr F
- futimes F
- getifaddrs F
- getxattr F
- isalnum_l F
- isalpha_l F
- isblank_l F
- iscntrl_l F
- isctype F
- isdigit_l F
- isgraph_l F
- islower_l F
- isprint_l F
- ispunct_l F
- isspace_l F
- isupper_l F
- iswalnum_l F
- iswalpha_l F
- iswblank_l F
- iswcntrl_l F
- iswctype_l F
- iswdigit_l F
- iswgraph_l F
- iswlower_l F
- iswprint_l F
- iswpunct_l F
- iswspace_l F
- iswupper_l F
- iswxdigit_l F
- isxdigit_l F
- lgetxattr F
- listxattr F
- llistxattr F
- lremovexattr F
- lsetxattr F
- lutimes F
- newlocale F
- nl_langinfo_l F
- readahead F
- realpath F
- removexattr F
- sendfile64 F
- setxattr F
- strcasecmp_l F
- strcoll_l F
- strfmon_l F
- strftime_l F
- strncasecmp_l F
- strtod_l F
- strtof_l F
- strtol_l F
- strtold_l F
- strtoul_l F
- strxfrm_l F
- sys_errlist D 0x420
- sys_nerr D 0x4
- tolower_l F
- toupper_l F
- towctrans_l F
- towlower_l F
- towupper_l F
- uselocale F
- wcscasecmp_l F
- wcscoll_l F
- wcsftime_l F
- wcsncasecmp_l F
- wcstod_l F
- wcstof_l F
- wcstol_l F
- wcstold_l F
- wcstoll_l F
- wcstoul_l F
- wcstoull_l F
- wcsxfrm_l F
- wctrans_l F
- wctype_l F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __register_atfork F
- epoll_create F
- epoll_ctl F
- epoll_wait F
- lchmod F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- strptime_l F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- _sys_siglist D 0x208
- gnu_dev_major F
- gnu_dev_makedev F
- gnu_dev_minor F
- inet6_option_alloc F
- inet6_option_append F
- inet6_option_find F
- inet6_option_init F
- inet6_option_next F
- inet6_option_space F
- nftw F
- nftw64 F
- remap_file_pages F
- sched_getaffinity F
- sched_setaffinity F
- semtimedop F
- strtoll_l F
- strtoull_l F
- sys_sigabbrev D 0x208
- sys_siglist D 0x208
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- _OtsAddX F
- _OtsConvertFloatTX F
- _OtsConvertFloatXT F
- _OtsCvtQUX F
- _OtsCvtQX F
- _OtsCvtXQ F
- _OtsDivX F
- _OtsEqlX F
- _OtsGeqX F
- _OtsGtrX F
- _OtsLeqX F
- _OtsLssX F
- _OtsMulX F
- _OtsNeqX F
- _OtsNintXQ F
- _OtsSubX F
- __chk_fail F
- __fprintf_chk F
- __gets_chk F
- __memcpy_chk F
- __memmove_chk F
- __mempcpy_chk F
- __memset_chk F
- __printf_chk F
- __snprintf_chk F
- __sprintf_chk F
- __stpcpy_chk F
- __strcat_chk F
- __strcpy_chk F
- __strncat_chk F
- __strncpy_chk F
- __vfprintf_chk F
- __vprintf_chk F
- __vsnprintf_chk F
- __vsprintf_chk F
- __xpg_strerror_r F
- getipv4sourcefilter F
- getsourcefilter F
- regexec F
- sched_getaffinity F
- sched_setaffinity F
- setipv4sourcefilter F
- setsourcefilter F
- xdr_quad_t F
- xdr_u_quad_t F
-GLIBC_2.4
- GLIBC_2.4 A
- _IO_fprintf F
- _IO_printf F
- _IO_sprintf F
- _IO_sscanf F
- _IO_vfprintf F
- _IO_vfscanf F
- _IO_vsprintf F
- __asprintf F
- __confstr_chk F
- __fgets_chk F
- __fgets_unlocked_chk F
- __fgetws_chk F
- __fgetws_unlocked_chk F
- __finitel F
- __fprintf_chk F
- __fwprintf_chk F
- __fxstatat F
- __fxstatat64 F
- __getcwd_chk F
- __getdomainname_chk F
- __getgroups_chk F
- __gethostname_chk F
- __getlogin_r_chk F
- __getwd_chk F
- __isinfl F
- __isnanl F
- __mbsnrtowcs_chk F
- __mbsrtowcs_chk F
- __mbstowcs_chk F
- __nldbl__IO_fprintf F
- __nldbl__IO_printf F
- __nldbl__IO_sprintf F
- __nldbl__IO_sscanf F
- __nldbl__IO_vfprintf F
- __nldbl__IO_vfscanf F
- __nldbl__IO_vsprintf F
- __nldbl___asprintf F
- __nldbl___fprintf_chk F
- __nldbl___fwprintf_chk F
- __nldbl___printf_chk F
- __nldbl___printf_fp F
- __nldbl___snprintf_chk F
- __nldbl___sprintf_chk F
- __nldbl___strfmon_l F
- __nldbl___swprintf_chk F
- __nldbl___syslog_chk F
- __nldbl___vfprintf_chk F
- __nldbl___vfscanf F
- __nldbl___vfwprintf_chk F
- __nldbl___vprintf_chk F
- __nldbl___vsnprintf F
- __nldbl___vsnprintf_chk F
- __nldbl___vsprintf_chk F
- __nldbl___vsscanf F
- __nldbl___vstrfmon F
- __nldbl___vstrfmon_l F
- __nldbl___vswprintf_chk F
- __nldbl___vsyslog_chk F
- __nldbl___vwprintf_chk F
- __nldbl___wprintf_chk F
- __nldbl_asprintf F
- __nldbl_dprintf F
- __nldbl_fprintf F
- __nldbl_fscanf F
- __nldbl_fwprintf F
- __nldbl_fwscanf F
- __nldbl_obstack_printf F
- __nldbl_obstack_vprintf F
- __nldbl_printf F
- __nldbl_printf_size F
- __nldbl_scanf F
- __nldbl_snprintf F
- __nldbl_sprintf F
- __nldbl_sscanf F
- __nldbl_strfmon F
- __nldbl_strfmon_l F
- __nldbl_swprintf F
- __nldbl_swscanf F
- __nldbl_syslog F
- __nldbl_vasprintf F
- __nldbl_vdprintf F
- __nldbl_vfprintf F
- __nldbl_vfscanf F
- __nldbl_vfwprintf F
- __nldbl_vfwscanf F
- __nldbl_vprintf F
- __nldbl_vscanf F
- __nldbl_vsnprintf F
- __nldbl_vsprintf F
- __nldbl_vsscanf F
- __nldbl_vswprintf F
- __nldbl_vswscanf F
- __nldbl_vsyslog F
- __nldbl_vwprintf F
- __nldbl_vwscanf F
- __nldbl_wprintf F
- __nldbl_wscanf F
- __pread64_chk F
- __pread_chk F
- __printf_chk F
- __printf_fp F
- __ptsname_r_chk F
- __read_chk F
- __readlink_chk F
- __realpath_chk F
- __recv_chk F
- __recvfrom_chk F
- __signbitl F
- __snprintf_chk F
- __sprintf_chk F
- __stack_chk_fail F
- __stpncpy_chk F
- __strfmon_l F
- __strtold_internal F
- __strtold_l F
- __swprintf_chk F
- __syslog_chk F
- __ttyname_r_chk F
- __vfprintf_chk F
- __vfscanf F
- __vfwprintf_chk F
- __vprintf_chk F
- __vsnprintf F
- __vsnprintf_chk F
- __vsprintf_chk F
- __vsscanf F
- __vswprintf_chk F
- __vsyslog_chk F
- __vwprintf_chk F
- __wcpcpy_chk F
- __wcpncpy_chk F
- __wcrtomb_chk F
- __wcscat_chk F
- __wcscpy_chk F
- __wcsncat_chk F
- __wcsncpy_chk F
- __wcsnrtombs_chk F
- __wcsrtombs_chk F
- __wcstold_internal F
- __wcstold_l F
- __wcstombs_chk F
- __wctomb_chk F
- __wmemcpy_chk F
- __wmemmove_chk F
- __wmempcpy_chk F
- __wmemset_chk F
- __wprintf_chk F
- __xmknodat F
- _sys_errlist D 0x450
- _sys_nerr D 0x4
- asprintf F
- copysignl F
- dprintf F
- eaccess F
- faccessat F
- fchmodat F
- fchownat F
- fdopendir F
- finitel F
- fprintf F
- frexpl F
- fscanf F
- futimesat F
- fwprintf F
- fwscanf F
- inotify_add_watch F
- inotify_init F
- inotify_rm_watch F
- isinfl F
- isnanl F
- ldexpl F
- linkat F
- mkdirat F
- mkfifoat F
- modfl F
- obstack_printf F
- obstack_vprintf F
- open_wmemstream F
- openat F
- openat64 F
- ppoll F
- printf F
- printf_size F
- qecvt F
- qecvt_r F
- qfcvt F
- qfcvt_r F
- qgcvt F
- readlinkat F
- renameat F
- scalbnl F
- scanf F
- snprintf F
- sprintf F
- sscanf F
- strfmon F
- strfmon_l F
- strtold F
- strtold_l F
- swprintf F
- swscanf F
- symlinkat F
- sys_errlist D 0x450
- sys_nerr D 0x4
- syslog F
- unlinkat F
- unshare F
- vasprintf F
- vdprintf F
- vfprintf F
- vfscanf F
- vfwprintf F
- vfwscanf F
- vprintf F
- vscanf F
- vsnprintf F
- vsprintf F
- vsscanf F
- vswprintf F
- vswscanf F
- vsyslog F
- vwprintf F
- vwscanf F
- wcstold F
- wcstold_l F
- wprintf F
- wscanf F
-GLIBC_2.5
- GLIBC_2.5 A
- __readlinkat_chk F
- inet6_opt_append F
- inet6_opt_find F
- inet6_opt_finish F
- inet6_opt_get_val F
- inet6_opt_init F
- inet6_opt_next F
- inet6_opt_set_val F
- inet6_rth_add F
- inet6_rth_getaddr F
- inet6_rth_init F
- inet6_rth_reverse F
- inet6_rth_segments F
- inet6_rth_space F
- splice F
- tee F
- vmsplice F
-GLIBC_2.6
- GLIBC_2.6 A
- __sched_cpucount F
- epoll_pwait F
- futimens F
- sched_getcpu F
- strerror_l F
- sync_file_range F
- utimensat F
-GLIBC_2.7
- GLIBC_2.7 A
- __fread_chk F
- __fread_unlocked_chk F
- __isoc99_fscanf F
- __isoc99_fwscanf F
- __isoc99_scanf F
- __isoc99_sscanf F
- __isoc99_swscanf F
- __isoc99_vfscanf F
- __isoc99_vfwscanf F
- __isoc99_vscanf F
- __isoc99_vsscanf F
- __isoc99_vswscanf F
- __isoc99_vwscanf F
- __isoc99_wscanf F
- __nldbl___isoc99_fscanf F
- __nldbl___isoc99_fwscanf F
- __nldbl___isoc99_scanf F
- __nldbl___isoc99_sscanf F
- __nldbl___isoc99_swscanf F
- __nldbl___isoc99_vfscanf F
- __nldbl___isoc99_vfwscanf F
- __nldbl___isoc99_vscanf F
- __nldbl___isoc99_vsscanf F
- __nldbl___isoc99_vswscanf F
- __nldbl___isoc99_vwscanf F
- __nldbl___isoc99_wscanf F
- __open64_2 F
- __open_2 F
- __openat64_2 F
- __openat_2 F
- __sched_cpualloc F
- __sched_cpufree F
- eventfd F
- eventfd_read F
- eventfd_write F
- mkostemp F
- mkostemp64 F
- signalfd F
-GLIBC_2.8
- GLIBC_2.8 A
- __asprintf_chk F
- __dprintf_chk F
- __nldbl___asprintf_chk F
- __nldbl___dprintf_chk F
- __nldbl___obstack_printf_chk F
- __nldbl___obstack_vprintf_chk F
- __nldbl___vasprintf_chk F
- __nldbl___vdprintf_chk F
- __obstack_printf_chk F
- __obstack_vprintf_chk F
- __vasprintf_chk F
- __vdprintf_chk F
- qsort_r F
- timerfd_create F
- timerfd_gettime F
- timerfd_settime F
-GLIBC_2.9
- GLIBC_2.9 A
- dup3 F
- epoll_create1 F
- inotify_init1 F
- pipe2 F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
deleted file mode 100644
index 1df145f..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
+++ /dev/null
@@ -1,9 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- crypt F
- crypt_r F
- encrypt F
- encrypt_r F
- fcrypt F
- setkey F
- setkey_r F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist
deleted file mode 100644
index 62e6b41..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist
+++ /dev/null
@@ -1,18 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- dladdr F
- dlclose F
- dlerror F
- dlopen F
- dlsym F
-GLIBC_2.1
- GLIBC_2.1 A
- dlopen F
- dlvsym F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- dladdr1 F
- dlinfo F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- dlmopen F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist
deleted file mode 100644
index d9b44b5..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist
+++ /dev/null
@@ -1,567 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _LIB_VERSION D 0x4
- __atan2 F
- acos F
- acosf F
- acosh F
- acoshf F
- acoshl F
- acosl F
- asin F
- asinf F
- asinh F
- asinhf F
- asinhl F
- asinl F
- atan F
- atan2 F
- atan2f F
- atan2l F
- atanf F
- atanh F
- atanhf F
- atanhl F
- atanl F
- cbrt F
- cbrtf F
- cbrtl F
- ceil F
- ceilf F
- ceill F
- copysign F
- copysignf F
- copysignl F
- cos F
- cosf F
- cosh F
- coshf F
- coshl F
- cosl F
- drem F
- dremf F
- dreml F
- erf F
- erfc F
- erfcf F
- erfcl F
- erff F
- erfl F
- exp F
- expf F
- expl F
- expm1 F
- expm1f F
- expm1l F
- fabs F
- fabsf F
- fabsl F
- finite F
- finitef F
- finitel F
- floor F
- floorf F
- floorl F
- fmod F
- fmodf F
- fmodl F
- frexp F
- frexpf F
- frexpl F
- gamma F
- gammaf F
- gammal F
- hypot F
- hypotf F
- hypotl F
- ilogb F
- ilogbf F
- ilogbl F
- j0 F
- j0f F
- j0l F
- j1 F
- j1f F
- j1l F
- jn F
- jnf F
- jnl F
- ldexp F
- ldexpf F
- ldexpl F
- lgamma F
- lgamma_r F
- lgammaf F
- lgammaf_r F
- lgammal F
- lgammal_r F
- log F
- log10 F
- log10f F
- log10l F
- log1p F
- log1pf F
- log1pl F
- logb F
- logbf F
- logbl F
- logf F
- logl F
- matherr F
- modf F
- modff F
- modfl F
- nextafter F
- nextafterf F
- nextafterl F
- pow F
- powf F
- powl F
- remainder F
- remainderf F
- remainderl F
- rint F
- rintf F
- rintl F
- scalb F
- scalbf F
- scalbl F
- scalbn F
- scalbnf F
- scalbnl F
- signgam D 0x4
- significand F
- significandf F
- significandl F
- sin F
- sinf F
- sinh F
- sinhf F
- sinhl F
- sinl F
- sqrt F
- sqrtf F
- sqrtl F
- tan F
- tanf F
- tanh F
- tanhf F
- tanhl F
- tanl F
- y0 F
- y0f F
- y0l F
- y1 F
- y1f F
- y1l F
- yn F
- ynf F
- ynl F
-GLIBC_2.1
- GLIBC_2.1 A
- __clog10 F
- __clog10f F
- __clog10l F
- __finite F
- __finitef F
- __finitel F
- __fpclassify F
- __fpclassifyf F
- __signbit F
- __signbitf F
- cabs F
- cabsf F
- cabsl F
- cacos F
- cacosf F
- cacosh F
- cacoshf F
- cacoshl F
- cacosl F
- carg F
- cargf F
- cargl F
- casin F
- casinf F
- casinh F
- casinhf F
- casinhl F
- casinl F
- catan F
- catanf F
- catanh F
- catanhf F
- catanhl F
- catanl F
- ccos F
- ccosf F
- ccosh F
- ccoshf F
- ccoshl F
- ccosl F
- cexp F
- cexpf F
- cexpl F
- cimag F
- cimagf F
- cimagl F
- clog F
- clog10 F
- clog10f F
- clog10l F
- clogf F
- clogl F
- conj F
- conjf F
- conjl F
- cpow F
- cpowf F
- cpowl F
- cproj F
- cprojf F
- cprojl F
- creal F
- crealf F
- creall F
- csin F
- csinf F
- csinh F
- csinhf F
- csinhl F
- csinl F
- csqrt F
- csqrtf F
- csqrtl F
- ctan F
- ctanf F
- ctanh F
- ctanhf F
- ctanhl F
- ctanl F
- exp10 F
- exp10f F
- exp10l F
- exp2 F
- exp2f F
- fdim F
- fdimf F
- fdiml F
- feclearexcept F
- fegetenv F
- fegetexceptflag F
- fegetround F
- feholdexcept F
- feraiseexcept F
- fesetenv F
- fesetexceptflag F
- fesetround F
- fetestexcept F
- feupdateenv F
- fma F
- fmaf F
- fmal F
- fmax F
- fmaxf F
- fmaxl F
- fmin F
- fminf F
- fminl F
- llrint F
- llrintf F
- llrintl F
- llround F
- llroundf F
- llroundl F
- log2 F
- log2f F
- log2l F
- lrint F
- lrintf F
- lrintl F
- lround F
- lroundf F
- lroundl F
- nan F
- nanf F
- nanl F
- nearbyint F
- nearbyintf F
- nearbyintl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10 F
- pow10f F
- pow10l F
- remquo F
- remquof F
- remquol F
- round F
- roundf F
- roundl F
- scalbln F
- scalblnf F
- scalblnl F
- sincos F
- sincosf F
- sincosl F
- tgamma F
- tgammaf F
- tgammal F
- trunc F
- truncf F
- truncl F
-GLIBC_2.15
- GLIBC_2.15 A
- __acos_finite F
- __acosf_finite F
- __acosh_finite F
- __acoshf_finite F
- __acoshl_finite F
- __acosl_finite F
- __asin_finite F
- __asinf_finite F
- __asinl_finite F
- __atan2_finite F
- __atan2f_finite F
- __atan2l_finite F
- __atanh_finite F
- __atanhf_finite F
- __atanhl_finite F
- __cosh_finite F
- __coshf_finite F
- __coshl_finite F
- __exp10_finite F
- __exp10f_finite F
- __exp10l_finite F
- __exp2_finite F
- __exp2f_finite F
- __exp2l_finite F
- __exp_finite F
- __expf_finite F
- __expl_finite F
- __fmod_finite F
- __fmodf_finite F
- __fmodl_finite F
- __gamma_r_finite F
- __gammaf_r_finite F
- __gammal_r_finite F
- __hypot_finite F
- __hypotf_finite F
- __hypotl_finite F
- __j0_finite F
- __j0f_finite F
- __j0l_finite F
- __j1_finite F
- __j1f_finite F
- __j1l_finite F
- __jn_finite F
- __jnf_finite F
- __jnl_finite F
- __lgamma_r_finite F
- __lgammaf_r_finite F
- __lgammal_r_finite F
- __log10_finite F
- __log10f_finite F
- __log10l_finite F
- __log2_finite F
- __log2f_finite F
- __log2l_finite F
- __log_finite F
- __logf_finite F
- __logl_finite F
- __pow_finite F
- __powf_finite F
- __powl_finite F
- __remainder_finite F
- __remainderf_finite F
- __remainderl_finite F
- __scalb_finite F
- __scalbf_finite F
- __scalbl_finite F
- __sinh_finite F
- __sinhf_finite F
- __sinhl_finite F
- __sqrt_finite F
- __sqrtf_finite F
- __y0_finite F
- __y0f_finite F
- __y0l_finite F
- __y1_finite F
- __y1f_finite F
- __y1l_finite F
- __yn_finite F
- __ynf_finite F
- __ynl_finite F
-GLIBC_2.18
- GLIBC_2.18 A
- __issignaling F
- __issignalingf F
- __issignalingl F
- __sqrt_finite F
- __sqrtf_finite F
- __sqrtl_finite F
-GLIBC_2.2
- GLIBC_2.2 A
- feclearexcept F
- fedisableexcept F
- feenableexcept F
- fegetenv F
- fegetexcept F
- fegetexceptflag F
- feraiseexcept F
- fesetenv F
- fesetexceptflag F
- feupdateenv F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- __c1_cabsf F
- __c1_cacosf F
- __c1_cacoshf F
- __c1_cargf F
- __c1_casinf F
- __c1_casinhf F
- __c1_catanf F
- __c1_catanhf F
- __c1_ccosf F
- __c1_ccoshf F
- __c1_cexpf F
- __c1_cimagf F
- __c1_clog10f F
- __c1_clogf F
- __c1_conjf F
- __c1_cpowf F
- __c1_cprojf F
- __c1_crealf F
- __c1_csinf F
- __c1_csinhf F
- __c1_csqrtf F
- __c1_ctanf F
- __c1_ctanhf F
- cabsf F
- cacosf F
- cacoshf F
- cargf F
- casinf F
- casinhf F
- catanf F
- catanhf F
- ccosf F
- ccoshf F
- cexpf F
- cimagf F
- clog10f F
- clogf F
- conjf F
- cpowf F
- cprojf F
- crealf F
- csinf F
- csinhf F
- csqrtf F
- ctanf F
- ctanhf F
-GLIBC_2.4
- GLIBC_2.4 A
- __clog10l F
- __finitel F
- __fpclassifyl F
- __nldbl_nexttowardf F
- __signbitl F
- acoshl F
- acosl F
- asinhl F
- asinl F
- atan2l F
- atanhl F
- atanl F
- cabsl F
- cacoshl F
- cacosl F
- cargl F
- casinhl F
- casinl F
- catanhl F
- catanl F
- cbrtl F
- ccoshl F
- ccosl F
- ceill F
- cexpl F
- cimagl F
- clog10l F
- clogl F
- conjl F
- copysignl F
- coshl F
- cosl F
- cpowl F
- cprojl F
- creall F
- csinhl F
- csinl F
- csqrtl F
- ctanhl F
- ctanl F
- dreml F
- erfcl F
- erfl F
- exp10l F
- exp2l F
- expl F
- expm1l F
- fabsl F
- fdiml F
- finitel F
- floorl F
- fmal F
- fmaxl F
- fminl F
- fmodl F
- frexpl F
- gammal F
- hypotl F
- ilogbl F
- j0l F
- j1l F
- jnl F
- ldexpl F
- lgammal F
- lgammal_r F
- llrintl F
- llroundl F
- log10l F
- log1pl F
- log2l F
- logbl F
- logl F
- lrintl F
- lroundl F
- modfl F
- nanl F
- nearbyintl F
- nextafterl F
- nexttoward F
- nexttowardf F
- nexttowardl F
- pow10l F
- powl F
- remainderl F
- remquol F
- rintl F
- roundl F
- scalbl F
- scalblnl F
- scalbnl F
- significandl F
- sincosl F
- sinhl F
- sinl F
- sqrtl F
- tanhl F
- tanl F
- tgammal F
- truncl F
- y0l F
- y1l F
- ynl F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist
deleted file mode 100644
index 4241e2d..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist
+++ /dev/null
@@ -1,127 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __yp_check F
- xdr_domainname F
- xdr_keydat F
- xdr_mapname F
- xdr_peername F
- xdr_valdat F
- xdr_yp_buf F
- xdr_ypbind_binding F
- xdr_ypbind_resp F
- xdr_ypbind_resptype F
- xdr_ypbind_setdom F
- xdr_ypdelete_args F
- xdr_ypmap_parms F
- xdr_ypmaplist F
- xdr_yppush_status F
- xdr_yppushresp_xfr F
- xdr_ypreq_key F
- xdr_ypreq_nokey F
- xdr_ypreq_xfr F
- xdr_ypresp_all F
- xdr_ypresp_key_val F
- xdr_ypresp_maplist F
- xdr_ypresp_master F
- xdr_ypresp_order F
- xdr_ypresp_val F
- xdr_ypresp_xfr F
- xdr_ypstat F
- xdr_ypupdate_args F
- xdr_ypxfrstat F
- yp_all F
- yp_bind F
- yp_first F
- yp_get_default_domain F
- yp_maplist F
- yp_master F
- yp_match F
- yp_next F
- yp_order F
- yp_unbind F
- yp_update F
- ypbinderr_string F
- yperr_string F
- ypprot_err F
-GLIBC_2.1
- GLIBC_2.1 A
- __free_fdresult F
- __nis_default_access F
- __nis_default_group F
- __nis_default_owner F
- __nis_default_ttl F
- __nis_finddirectory F
- __nis_hash F
- __nisbind_connect F
- __nisbind_create F
- __nisbind_destroy F
- __nisbind_next F
- nis_add F
- nis_add_entry F
- nis_addmember F
- nis_checkpoint F
- nis_clone_directory F
- nis_clone_object F
- nis_clone_result F
- nis_creategroup F
- nis_destroy_object F
- nis_destroygroup F
- nis_dir_cmp F
- nis_domain_of F
- nis_domain_of_r F
- nis_first_entry F
- nis_free_directory F
- nis_free_object F
- nis_free_request F
- nis_freenames F
- nis_freeresult F
- nis_freeservlist F
- nis_freetags F
- nis_getnames F
- nis_getservlist F
- nis_ismember F
- nis_leaf_of F
- nis_leaf_of_r F
- nis_lerror F
- nis_list F
- nis_local_directory F
- nis_local_group F
- nis_local_host F
- nis_local_principal F
- nis_lookup F
- nis_mkdir F
- nis_modify F
- nis_modify_entry F
- nis_name_of F
- nis_name_of_r F
- nis_next_entry F
- nis_perror F
- nis_ping F
- nis_print_directory F
- nis_print_entry F
- nis_print_group F
- nis_print_group_entry F
- nis_print_link F
- nis_print_object F
- nis_print_result F
- nis_print_rights F
- nis_print_table F
- nis_read_obj F
- nis_remove F
- nis_remove_entry F
- nis_removemember F
- nis_rmdir F
- nis_servstate F
- nis_sperrno F
- nis_sperror F
- nis_sperror_r F
- nis_stats F
- nis_verifygroup F
- nis_write_obj F
- readColdStartFile F
- writeColdStartFile F
- xdr_cback_data F
- xdr_obj_p F
-GLIBC_2.2
- GLIBC_2.2 A
- xdr_ypall F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist
deleted file mode 100644
index 4c75b17..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist
+++ /dev/null
@@ -1,273 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- _IO_flockfile F
- _IO_ftrylockfile F
- _IO_funlockfile F
- __close F
- __connect F
- __errno_location F
- __fcntl F
- __fork F
- __h_errno_location F
- __lseek F
- __open F
- __pthread_getspecific F
- __pthread_key_create F
- __pthread_mutex_destroy F
- __pthread_mutex_init F
- __pthread_mutex_lock F
- __pthread_mutex_trylock F
- __pthread_mutex_unlock F
- __pthread_mutexattr_destroy F
- __pthread_mutexattr_init F
- __pthread_mutexattr_settype F
- __pthread_once F
- __pthread_setspecific F
- __read F
- __send F
- __sigaction F
- __wait F
- __write F
- _pthread_cleanup_pop F
- _pthread_cleanup_pop_restore F
- _pthread_cleanup_push F
- _pthread_cleanup_push_defer F
- accept F
- close F
- connect F
- fcntl F
- flockfile F
- fork F
- fsync F
- ftrylockfile F
- funlockfile F
- longjmp F
- lseek F
- msync F
- nanosleep F
- open F
- pause F
- pthread_atfork F
- pthread_attr_destroy F
- pthread_attr_getdetachstate F
- pthread_attr_getinheritsched F
- pthread_attr_getschedparam F
- pthread_attr_getschedpolicy F
- pthread_attr_getscope F
- pthread_attr_init F
- pthread_attr_setdetachstate F
- pthread_attr_setinheritsched F
- pthread_attr_setschedparam F
- pthread_attr_setschedpolicy F
- pthread_attr_setscope F
- pthread_cancel F
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
- pthread_condattr_destroy F
- pthread_condattr_init F
- pthread_create F
- pthread_detach F
- pthread_equal F
- pthread_exit F
- pthread_getschedparam F
- pthread_getspecific F
- pthread_join F
- pthread_key_create F
- pthread_key_delete F
- pthread_kill F
- pthread_kill_other_threads_np F
- pthread_mutex_destroy F
- pthread_mutex_init F
- pthread_mutex_lock F
- pthread_mutex_trylock F
- pthread_mutex_unlock F
- pthread_mutexattr_destroy F
- pthread_mutexattr_getkind_np F
- pthread_mutexattr_init F
- pthread_mutexattr_setkind_np F
- pthread_once F
- pthread_self F
- pthread_setcancelstate F
- pthread_setcanceltype F
- pthread_setschedparam F
- pthread_setspecific F
- pthread_sigmask F
- pthread_testcancel F
- raise F
- read F
- recv F
- recvfrom F
- recvmsg F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
- send F
- sendmsg F
- sendto F
- sigaction F
- siglongjmp F
- sigwait F
- system F
- tcdrain F
- vfork F
- wait F
- waitpid F
- write F
-GLIBC_2.1
- GLIBC_2.1 A
- __libc_allocate_rtsig F
- __libc_current_sigrtmax F
- __libc_current_sigrtmin F
- pthread_attr_getguardsize F
- pthread_attr_getstackaddr F
- pthread_attr_getstacksize F
- pthread_attr_init F
- pthread_attr_setguardsize F
- pthread_attr_setstackaddr F
- pthread_attr_setstacksize F
- pthread_create F
- pthread_getconcurrency F
- pthread_mutexattr_gettype F
- pthread_mutexattr_settype F
- pthread_rwlock_destroy F
- pthread_rwlock_init F
- pthread_rwlock_rdlock F
- pthread_rwlock_tryrdlock F
- pthread_rwlock_trywrlock F
- pthread_rwlock_unlock F
- pthread_rwlock_wrlock F
- pthread_rwlockattr_destroy F
- pthread_rwlockattr_getkind_np F
- pthread_rwlockattr_getpshared F
- pthread_rwlockattr_init F
- pthread_rwlockattr_setkind_np F
- pthread_rwlockattr_setpshared F
- pthread_setconcurrency F
- sem_destroy F
- sem_getvalue F
- sem_init F
- sem_post F
- sem_trywait F
- sem_wait F
-GLIBC_2.1.1
- GLIBC_2.1.1 A
- sem_close F
- sem_open F
- sem_unlink F
-GLIBC_2.1.2
- GLIBC_2.1.2 A
- __vfork F
-GLIBC_2.11
- GLIBC_2.11 A
- pthread_sigqueue F
-GLIBC_2.12
- GLIBC_2.12 A
- pthread_getname_np F
- pthread_mutex_consistent F
- pthread_mutexattr_getrobust F
- pthread_mutexattr_setrobust F
- pthread_setname_np F
-GLIBC_2.18
- GLIBC_2.18 A
- pthread_getattr_default_np F
- pthread_setattr_default_np F
-GLIBC_2.2
- GLIBC_2.2 A
- __open64 F
- __pread64 F
- __pthread_rwlock_destroy F
- __pthread_rwlock_init F
- __pthread_rwlock_rdlock F
- __pthread_rwlock_tryrdlock F
- __pthread_rwlock_trywrlock F
- __pthread_rwlock_unlock F
- __pthread_rwlock_wrlock F
- __pwrite64 F
- __res_state F
- lseek64 F
- open64 F
- pread F
- pread64 F
- pthread_attr_getstack F
- pthread_attr_setstack F
- pthread_barrier_destroy F
- pthread_barrier_init F
- pthread_barrier_wait F
- pthread_barrierattr_destroy F
- pthread_barrierattr_init F
- pthread_barrierattr_setpshared F
- pthread_condattr_getpshared F
- pthread_condattr_setpshared F
- pthread_getcpuclockid F
- pthread_mutex_timedlock F
- pthread_mutexattr_getpshared F
- pthread_mutexattr_setpshared F
- pthread_rwlock_timedrdlock F
- pthread_rwlock_timedwrlock F
- pthread_spin_destroy F
- pthread_spin_init F
- pthread_spin_lock F
- pthread_spin_trylock F
- pthread_spin_unlock F
- pthread_yield F
- pwrite F
- pwrite64 F
- sem_timedwait F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- pthread_getattr_np F
-GLIBC_2.2.6
- GLIBC_2.2.6 A
- __nanosleep F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- pthread_cond_broadcast F
- pthread_cond_destroy F
- pthread_cond_init F
- pthread_cond_signal F
- pthread_cond_timedwait F
- pthread_cond_wait F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- __pthread_cleanup_routine F
- __pthread_register_cancel F
- __pthread_register_cancel_defer F
- __pthread_unregister_cancel F
- __pthread_unregister_cancel_restore F
- __pthread_unwind_next F
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_attr_setstack F
- pthread_attr_setstacksize F
- pthread_barrierattr_getpshared F
- pthread_condattr_getclock F
- pthread_condattr_setclock F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_timedjoin_np F
- pthread_tryjoin_np F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- pthread_attr_getaffinity_np F
- pthread_attr_setaffinity_np F
- pthread_getaffinity_np F
- pthread_setaffinity_np F
- pthread_setschedprio F
-GLIBC_2.4
- GLIBC_2.4 A
- pthread_mutex_consistent_np F
- pthread_mutex_getprioceiling F
- pthread_mutex_setprioceiling F
- pthread_mutexattr_getprioceiling F
- pthread_mutexattr_getprotocol F
- pthread_mutexattr_getrobust_np F
- pthread_mutexattr_setprioceiling F
- pthread_mutexattr_setprotocol F
- pthread_mutexattr_setrobust_np F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist
deleted file mode 100644
index 808d0f2..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist
+++ /dev/null
@@ -1,104 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- __b64_ntop F
- __b64_pton F
- __dn_comp F
- __dn_count_labels F
- __dn_skipname F
- __fp_nquery F
- __fp_query F
- __fp_resstat F
- __hostalias F
- __loc_aton F
- __loc_ntoa F
- __p_cdname F
- __p_cdnname F
- __p_class F
- __p_class_syms D 0xa8
- __p_fqname F
- __p_fqnname F
- __p_option F
- __p_query F
- __p_secstodate F
- __p_time F
- __p_type F
- __p_type_syms D 0x450
- __putlong F
- __putshort F
- __res_close F
- __res_dnok F
- __res_hnok F
- __res_isourserver F
- __res_mailok F
- __res_nameinquery F
- __res_ownok F
- __res_queriesmatch F
- __res_send F
- __sym_ntop F
- __sym_ntos F
- __sym_ston F
- _gethtbyaddr F
- _gethtbyname F
- _gethtbyname2 F
- _gethtent F
- _getlong F
- _getshort F
- _res_opcodes D 0x80
- _sethtent F
- dn_expand F
- inet_net_ntop F
- inet_net_pton F
- inet_neta F
- res_gethostbyaddr F
- res_gethostbyname F
- res_gethostbyname2 F
- res_mkquery F
- res_query F
- res_querydomain F
- res_search F
- res_send_setqhook F
- res_send_setrhook F
-GLIBC_2.2
- GLIBC_2.2 A
- __dn_expand F
- __res_hostalias F
- __res_mkquery F
- __res_nmkquery F
- __res_nquery F
- __res_nquerydomain F
- __res_nsearch F
- __res_nsend F
- __res_query F
- __res_querydomain F
- __res_search F
-GLIBC_2.3.2
- GLIBC_2.3.2 A
- __p_rcode F
-GLIBC_2.9
- GLIBC_2.9 A
- ns_datetosecs F
- ns_format_ttl F
- ns_get16 F
- ns_get32 F
- ns_initparse F
- ns_makecanon F
- ns_msg_getflag F
- ns_name_compress F
- ns_name_ntol F
- ns_name_ntop F
- ns_name_pack F
- ns_name_pton F
- ns_name_rollback F
- ns_name_skip F
- ns_name_uncompress F
- ns_name_unpack F
- ns_parse_ttl F
- ns_parserr F
- ns_put16 F
- ns_put32 F
- ns_samedomain F
- ns_samename F
- ns_skiprr F
- ns_sprintrr F
- ns_sprintrrf F
- ns_subdomain F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist
deleted file mode 100644
index d710117..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist
+++ /dev/null
@@ -1,63 +0,0 @@
-GLIBC_2.1
- GLIBC_2.1 A
- aio_cancel F
- aio_cancel64 F
- aio_error F
- aio_error64 F
- aio_fsync F
- aio_fsync64 F
- aio_init F
- aio_read F
- aio_read64 F
- aio_return F
- aio_return64 F
- aio_suspend F
- aio_suspend64 F
- aio_write F
- aio_write64 F
- lio_listio F
- lio_listio64 F
-GLIBC_2.2
- GLIBC_2.2 A
- clock_getcpuclockid F
- clock_getres F
- clock_gettime F
- clock_nanosleep F
- clock_settime F
- shm_open F
- shm_unlink F
- timer_create F
- timer_delete F
- timer_getoverrun F
- timer_gettime F
- timer_settime F
-GLIBC_2.3
- GLIBC_2.3 A
- aio_cancel F
- aio_cancel64 F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- timer_create F
- timer_delete F
- timer_getoverrun F
- timer_gettime F
- timer_settime F
-GLIBC_2.3.4
- GLIBC_2.3.4 A
- mq_close F
- mq_getattr F
- mq_notify F
- mq_open F
- mq_receive F
- mq_send F
- mq_setattr F
- mq_timedreceive F
- mq_timedsend F
- mq_unlink F
-GLIBC_2.4
- GLIBC_2.4 A
- lio_listio F
- lio_listio64 F
-GLIBC_2.7
- GLIBC_2.7 A
- __mq_open_2 F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist
deleted file mode 100644
index f331380..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist
+++ /dev/null
@@ -1,48 +0,0 @@
-GLIBC_2.1.3
- GLIBC_2.1.3 A
- td_init F
- td_log F
- td_ta_clear_event F
- td_ta_delete F
- td_ta_enable_stats F
- td_ta_event_addr F
- td_ta_event_getmsg F
- td_ta_get_nthreads F
- td_ta_get_ph F
- td_ta_get_stats F
- td_ta_map_id2thr F
- td_ta_map_lwp2thr F
- td_ta_new F
- td_ta_reset_stats F
- td_ta_set_event F
- td_ta_setconcurrency F
- td_ta_thr_iter F
- td_ta_tsd_iter F
- td_thr_clear_event F
- td_thr_dbresume F
- td_thr_dbsuspend F
- td_thr_event_enable F
- td_thr_event_getmsg F
- td_thr_get_info F
- td_thr_getfpregs F
- td_thr_getgregs F
- td_thr_getxregs F
- td_thr_getxregsize F
- td_thr_set_event F
- td_thr_setfpregs F
- td_thr_setgregs F
- td_thr_setprio F
- td_thr_setsigpending F
- td_thr_setxregs F
- td_thr_sigsetmask F
- td_thr_tsd F
- td_thr_validate F
-GLIBC_2.2.3
- GLIBC_2.2.3 A
- td_symbol_list F
-GLIBC_2.3
- GLIBC_2.3 A
- td_thr_tls_get_addr F
-GLIBC_2.3.3
- GLIBC_2.3.3 A
- td_thr_tlsbase F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist b/ports/sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist
deleted file mode 100644
index 7422687..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.0
- GLIBC_2.0 A
- forkpty F
- login F
- login_tty F
- logout F
- logwtmp F
- openpty F
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/localplt.data b/ports/sysdeps/unix/sysv/linux/alpha/nptl/localplt.data
deleted file mode 100644
index 6b2e515..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/localplt.data
+++ /dev/null
@@ -1,26 +0,0 @@
-libc.so: _OtsAddX ?
-libc.so: _OtsConvertFloatTX ?
-libc.so: _OtsConvertFloatXT ?
-libc.so: _OtsCvtQUX ?
-libc.so: _OtsCvtQX ?
-libc.so: _OtsCvtXQ ?
-libc.so: _OtsDivX ?
-libc.so: _OtsEqlX ?
-libc.so: _OtsGeqX ?
-libc.so: _OtsGtrX ?
-libc.so: _OtsLeqX ?
-libc.so: _OtsLssX ?
-libc.so: _OtsMulX ?
-libc.so: _OtsNeqX ?
-libc.so: _OtsNintXQ ?
-libc.so: _OtsSubX ?
-libc.so: _Unwind_Find_FDE
-libc.so: calloc ?
-libc.so: free ?
-libc.so: malloc ?
-libc.so: memalign ?
-libc.so: realloc ?
-libm.so: matherr
-# We used to offer inline functions that used this, so it must be exported.
-# Ought to reorg things such that carg isn't thus forced to use a plt.
-libm.so: __atan2
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h b/ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h
deleted file mode 100644
index 361bd34..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h
+++ /dev/null
@@ -1,322 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _LOWLEVELLOCK_H
-#define _LOWLEVELLOCK_H 1
-
-#include <time.h>
-#include <sys/param.h>
-#include <bits/pthreadtypes.h>
-#include <atomic.h>
-#include <sysdep.h>
-#include <kernel-features.h>
-
-
-#define __NR_futex 394
-#define FUTEX_WAIT 0
-#define FUTEX_WAKE 1
-#define FUTEX_REQUEUE 3
-#define FUTEX_CMP_REQUEUE 4
-#define FUTEX_WAKE_OP 5
-#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE ((4 << 24) | 1)
-#define FUTEX_LOCK_PI 6
-#define FUTEX_UNLOCK_PI 7
-#define FUTEX_TRYLOCK_PI 8
-#define FUTEX_WAIT_BITSET 9
-#define FUTEX_WAKE_BITSET 10
-#define FUTEX_WAIT_REQUEUE_PI 11
-#define FUTEX_CMP_REQUEUE_PI 12
-#define FUTEX_PRIVATE_FLAG 128
-#define FUTEX_CLOCK_REALTIME 256
-
-#define FUTEX_BITSET_MATCH_ANY 0xffffffff
-
-/* Values for 'private' parameter of locking macros. Yes, the
- definition seems to be backwards. But it is not. The bit will be
- reversed before passing to the system call. */
-#define LLL_PRIVATE 0
-#define LLL_SHARED FUTEX_PRIVATE_FLAG
-
-
-#if !defined NOT_IN_libc || defined IS_IN_rtld
-/* In libc.so or ld.so all futexes are private. */
-# ifdef __ASSUME_PRIVATE_FUTEX
-# define __lll_private_flag(fl, private) \
- ((fl) | FUTEX_PRIVATE_FLAG)
-# else
-# define __lll_private_flag(fl, private) \
- ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))
-# endif
-#else
-# ifdef __ASSUME_PRIVATE_FUTEX
-# define __lll_private_flag(fl, private) \
- (((fl) | FUTEX_PRIVATE_FLAG) ^ (private))
-# else
-# define __lll_private_flag(fl, private) \
- (__builtin_constant_p (private) \
- ? ((private) == 0 \
- ? ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex)) \
- : (fl)) \
- : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG) \
- & THREAD_GETMEM (THREAD_SELF, header.private_futex))))
-# endif
-#endif
-
-
-#define lll_futex_wait(futexp, val, private) \
- lll_futex_timed_wait (futexp, val, NULL, private)
-
-#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- long int __ret; \
- int __op = FUTEX_WAIT_BITSET | clockbit; \
- \
- __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \
- __lll_private_flag (__op, private), \
- (val), (timespec), NULL /* Unused. */, \
- FUTEX_BITSET_MATCH_ANY); \
- __ret; \
- })
-
-#define lll_futex_timed_wait(futexp, val, timespec, private) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- long int __ret; \
- __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp), \
- __lll_private_flag (FUTEX_WAIT, private), \
- (val), (timespec)); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \
- })
-
-#define lll_futex_wake(futexp, nr, private) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- long int __ret; \
- __ret = INTERNAL_SYSCALL (futex, __err, 4, (futexp), \
- __lll_private_flag (FUTEX_WAKE, private), \
- (nr), 0); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err)? -__ret : __ret; \
- })
-
-#define lll_robust_dead(futexv, private) \
- do \
- { \
- int *__futexp = &(futexv); \
- atomic_or (__futexp, FUTEX_OWNER_DIED); \
- lll_futex_wake (__futexp, 1, private); \
- } \
- while (0)
-
-/* Returns non-zero if error happened, zero if success. */
-#define lll_futex_requeue(futexp, nr_wake, nr_move, mutex, val, private) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- long int __ret; \
- __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \
- __lll_private_flag (FUTEX_CMP_REQUEUE, private),\
- (nr_wake), (nr_move), (mutex), (val)); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err); \
- })
-
-/* Returns non-zero if error happened, zero if success. */
-#define lll_futex_wake_unlock(futexp, nr_wake, nr_wake2, futexp2, private) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- long int __ret; \
- __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \
- __lll_private_flag (FUTEX_WAKE_OP, private), \
- (nr_wake), (nr_wake2), (futexp2), \
- FUTEX_OP_CLEAR_WAKE_IF_GT_ONE); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err); \
- })
-
-/* Priority Inheritance support. */
-#define lll_futex_wait_requeue_pi(futexp, val, mutex, private) \
- lll_futex_timed_wait_requeue_pi (futexp, val, NULL, 0, mutex, private)
-
-#define lll_futex_timed_wait_requeue_pi(futexp, val, timespec, clockbit, \
- mutex, private) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- int __op = FUTEX_WAIT_REQUEUE_PI | clockbit; \
- \
- INTERNAL_SYSCALL (futex, __err, 5, (futexp), \
- __lll_private_flag (__op, private), \
- (val), (timespec), mutex); \
- })
-
-#define lll_futex_cmp_requeue_pi(futexp, nr_wake, nr_move, mutex, val, priv) \
- ({ \
- INTERNAL_SYSCALL_DECL (__err); \
- long int __ret; \
- \
- __ret = INTERNAL_SYSCALL (futex, __err, 6, (futexp), \
- __lll_private_flag (FUTEX_CMP_REQUEUE_PI, priv),\
- (nr_wake), (nr_move), (mutex), (val)); \
- INTERNAL_SYSCALL_ERROR_P (__ret, __err); \
- })
-
-static inline int __attribute__((always_inline))
-__lll_trylock(int *futex)
-{
- return atomic_compare_and_exchange_val_acq (futex, 1, 0) != 0;
-}
-#define lll_trylock(lock) __lll_trylock (&(lock))
-
-
-static inline int __attribute__((always_inline))
-__lll_cond_trylock(int *futex)
-{
- return atomic_compare_and_exchange_val_acq (futex, 2, 0) != 0;
-}
-#define lll_cond_trylock(lock) __lll_cond_trylock (&(lock))
-
-
-static inline int __attribute__((always_inline))
-__lll_robust_trylock(int *futex, int id)
-{
- return atomic_compare_and_exchange_val_acq (futex, id, 0) != 0;
-}
-#define lll_robust_trylock(lock, id) \
- __lll_robust_trylock (&(lock), id)
-
-extern void __lll_lock_wait_private (int *futex) attribute_hidden;
-extern void __lll_lock_wait (int *futex, int private) attribute_hidden;
-extern int __lll_robust_lock_wait (int *futex, int private) attribute_hidden;
-
-static inline void __attribute__((always_inline))
-__lll_lock(int *futex, int private)
-{
- if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 0)
- {
- if (__builtin_constant_p (private) && private == LLL_PRIVATE)
- __lll_lock_wait_private (futex);
- else
- __lll_lock_wait (futex, private);
- }
-}
-#define lll_lock(futex, private) __lll_lock (&(futex), private)
-
-
-static inline int __attribute__ ((always_inline))
-__lll_robust_lock (int *futex, int id, int private)
-{
- int result = 0;
- if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0)
- result = __lll_robust_lock_wait (futex, private);
- return result;
-}
-#define lll_robust_lock(futex, id, private) \
- __lll_robust_lock (&(futex), id, private)
-
-
-static inline void __attribute__ ((always_inline))
-__lll_cond_lock (int *futex, int private)
-{
- if (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0)
- __lll_lock_wait (futex, private);
-}
-#define lll_cond_lock(futex, private) __lll_cond_lock (&(futex), private)
-
-
-#define lll_robust_cond_lock(futex, id, private) \
- __lll_robust_lock (&(futex), (id) | FUTEX_WAITERS, private)
-
-
-extern int __lll_timedlock_wait (int *futex, const struct timespec *,
- int private) attribute_hidden;
-extern int __lll_robust_timedlock_wait (int *futex, const struct timespec *,
- int private) attribute_hidden;
-
-static inline int __attribute__ ((always_inline))
-__lll_timedlock (int *futex, const struct timespec *abstime, int private)
-{
- int result = 0;
- if (atomic_compare_and_exchange_bool_acq (futex, 1, 0) != 0)
- result = __lll_timedlock_wait (futex, abstime, private);
- return result;
-}
-#define lll_timedlock(futex, abstime, private) \
- __lll_timedlock (&(futex), abstime, private)
-
-
-static inline int __attribute__ ((always_inline))
-__lll_robust_timedlock (int *futex, const struct timespec *abstime,
- int id, int private)
-{
- int result = 0;
- if (atomic_compare_and_exchange_bool_acq (futex, id, 0) != 0)
- result = __lll_robust_timedlock_wait (futex, abstime, private);
- return result;
-}
-#define lll_robust_timedlock(futex, abstime, id, private) \
- __lll_robust_timedlock (&(futex), abstime, id, private)
-
-
-#define __lll_unlock(futex, private) \
- (void) \
- ({ int *__futex = (futex); \
- int __oldval = atomic_exchange_rel (__futex, 0); \
- if (__builtin_expect (__oldval > 1, 0)) \
- lll_futex_wake (__futex, 1, private); \
- })
-#define lll_unlock(futex, private) __lll_unlock(&(futex), private)
-
-
-#define __lll_robust_unlock(futex, private) \
- (void) \
- ({ int *__futex = (futex); \
- int __oldval = atomic_exchange_rel (__futex, 0); \
- if (__builtin_expect (__oldval & FUTEX_WAITERS, 0)) \
- lll_futex_wake (__futex, 1, private); \
- })
-#define lll_robust_unlock(futex, private) \
- __lll_robust_unlock(&(futex), private)
-
-
-#define lll_islocked(futex) \
- (futex != 0)
-
-/* Initializers for lock. */
-#define LLL_LOCK_INITIALIZER (0)
-#define LLL_LOCK_INITIALIZER_LOCKED (1)
-
-
-/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex
- wakeup when the clone terminates. The memory location contains the
- thread ID while the clone is running and is reset to zero
- afterwards. */
-#define lll_wait_tid(tid) \
- do { \
- __typeof (tid) __tid; \
- while ((__tid = (tid)) != 0) \
- lll_futex_wait (&(tid), __tid, LLL_SHARED); \
- } while (0)
-
-extern int __lll_timedwait_tid (int *, const struct timespec *)
- attribute_hidden;
-
-#define lll_timedwait_tid(tid, abstime) \
- ({ \
- int __res = 0; \
- if ((tid) != 0) \
- __res = __lll_timedwait_tid (&(tid), (abstime)); \
- __res; \
- })
-
-#endif /* lowlevellock.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S b/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
deleted file mode 100644
index 769826e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/pt-vfork.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <tcb-offsets.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS \
- /* Load the current cached pid value across the vfork. */ \
- rduniq; \
- ldl a2, PID_OFFSET(v0); \
- mov v0, a1; \
- /* Write back its negation, to indicate that the pid value is \
- uninitialized in the child, and in the window between \
- here and the point at which we restore the value. */ \
- negl a2, t0; \
- stl t0, PID_OFFSET(v0);
-
-PSEUDO (__vfork, vfork, 0)
-
- /* If we're back in the parent, restore the saved pid. */
- beq v0, 1f
- stl a2, PID_OFFSET(a1)
-1: ret
-
-PSEUDO_END (__vfork)
-
-weak_alias (__vfork, vfork)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/pthread_once.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/pthread_once.c
deleted file mode 100644
index ab4d547..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/pthread_once.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "pthreadP.h"
-#include <lowlevellock.h>
-
-
-unsigned long int __fork_generation attribute_hidden;
-
-static void
-clear_once_control (void *arg)
-{
- pthread_once_t *once_control = (pthread_once_t *) arg;
-
- *once_control = 0;
- lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE);
-}
-
-int
-__pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
-{
- for (;;)
- {
- int oldval;
- int newval;
- int tmp;
-
- /* Pseudo code:
- newval = __fork_generation | 1;
- oldval = *once_control;
- if ((oldval & 2) == 0)
- *once_control = newval;
- Do this atomically.
- */
- newval = __fork_generation | 1;
- __asm __volatile (
- "1: ldl_l %0, %2\n"
- " and %0, 2, %1\n"
- " bne %1, 2f\n"
- " mov %3, %1\n"
- " stl_c %1, %2\n"
- " beq %1, 1b\n"
- "2: mb"
- : "=&r" (oldval), "=&r" (tmp), "=m" (*once_control)
- : "r" (newval), "m" (*once_control));
-
- /* Check if the initializer has already been done. */
- if ((oldval & 2) != 0)
- return 0;
-
- /* Check if another thread already runs the initializer. */
- if ((oldval & 1) == 0)
- break;
-
- /* Check whether the initializer execution was interrupted by a fork. */
- if (oldval != newval)
- break;
-
- /* Same generation, some other thread was faster. Wait. */
- lll_futex_wait (once_control, oldval, LLL_PRIVATE);
- }
-
- /* This thread is the first here. Do the initialization.
- Register a cleanup handler so that in case the thread gets
- interrupted the initialization can be restarted. */
- pthread_cleanup_push (clear_once_control, once_control);
-
- init_routine ();
-
- pthread_cleanup_pop (0);
-
- /* Add one to *once_control to take the bottom 2 bits from 01 to 10. */
- atomic_increment (once_control);
-
- /* Wake up all other threads. */
- lll_futex_wake (once_control, INT_MAX, LLL_PRIVATE);
-
- return 0;
-}
-weak_alias (__pthread_once, pthread_once)
-hidden_def (__pthread_once)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c
deleted file mode 100644
index befa497..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c
+++ /dev/null
@@ -1,5 +0,0 @@
-/* ??? This is an ass-backwards way to do this. We should simply define
- the acquire/release semantics of atomic_exchange_and_add. And even if
- we don't do this, we should be using atomic_full_barrier or otherwise. */
-#define __lll_rel_instr "mb"
-#include <nptl/sysdeps/unix/sysv/linux/sem_post.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h b/ports/sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h
deleted file mode 100644
index 610b583..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <tls.h>
-#ifndef __ASSEMBLER__
-# include <nptl/pthreadP.h>
-#endif
-
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
-
-/* ??? Assumes that nothing comes between PSEUDO and PSEUDO_END
- besides "ret". */
-
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args) \
- .globl name; \
- .align 4; \
- .type name, @function; \
- .usepv name, std; \
- cfi_startproc; \
-__LABEL(name) \
- ldgp gp, 0(pv); \
- PSEUDO_PROF; \
- PSEUDO_PREPARE_ARGS \
- SINGLE_THREAD_P(t0); \
- bne t0, $pseudo_cancel; \
- lda v0, SYS_ify(syscall_name); \
- call_pal PAL_callsys; \
- bne a3, SYSCALL_ERROR_LABEL; \
-__LABEL($pseudo_ret) \
- .subsection 2; \
- cfi_startproc; \
-__LABEL($pseudo_cancel) \
- subq sp, 64, sp; \
- cfi_def_cfa_offset(64); \
- stq ra, 0(sp); \
- cfi_offset(ra, -64); \
- SAVE_ARGS_##args; \
- CENABLE; \
- LOAD_ARGS_##args; \
- /* Save the CENABLE return value in RA. That register \
- is preserved across syscall and the real return \
- address is saved on the stack. */ \
- mov v0, ra; \
- lda v0, SYS_ify(syscall_name); \
- call_pal PAL_callsys; \
- stq v0, 8(sp); \
- mov ra, a0; \
- bne a3, $multi_error; \
- CDISABLE; \
- ldq ra, 0(sp); \
- ldq v0, 8(sp); \
- addq sp, 64, sp; \
- cfi_remember_state; \
- cfi_restore(ra); \
- cfi_def_cfa_offset(0); \
- ret; \
- cfi_restore_state; \
-__LABEL($multi_error) \
- CDISABLE; \
- ldq ra, 0(sp); \
- ldq v0, 8(sp); \
- addq sp, 64, sp; \
- cfi_restore(ra); \
- cfi_def_cfa_offset(0); \
- SYSCALL_ERROR_FALLTHRU; \
- SYSCALL_ERROR_HANDLER; \
- cfi_endproc; \
- .previous
-
-# undef PSEUDO_END
-# define PSEUDO_END(sym) \
- cfi_endproc; \
- .subsection 2; \
- .size sym, .-sym
-
-# define SAVE_ARGS_0 /* Nothing. */
-# define SAVE_ARGS_1 SAVE_ARGS_0; stq a0, 8(sp)
-# define SAVE_ARGS_2 SAVE_ARGS_1; stq a1, 16(sp)
-# define SAVE_ARGS_3 SAVE_ARGS_2; stq a2, 24(sp)
-# define SAVE_ARGS_4 SAVE_ARGS_3; stq a3, 32(sp)
-# define SAVE_ARGS_5 SAVE_ARGS_4; stq a4, 40(sp)
-# define SAVE_ARGS_6 SAVE_ARGS_5; stq a5, 48(sp)
-
-# define LOAD_ARGS_0 /* Nothing. */
-# define LOAD_ARGS_1 LOAD_ARGS_0; ldq a0, 8(sp)
-# define LOAD_ARGS_2 LOAD_ARGS_1; ldq a1, 16(sp)
-# define LOAD_ARGS_3 LOAD_ARGS_2; ldq a2, 24(sp)
-# define LOAD_ARGS_4 LOAD_ARGS_3; ldq a3, 32(sp)
-# define LOAD_ARGS_5 LOAD_ARGS_4; ldq a4, 40(sp)
-# define LOAD_ARGS_6 LOAD_ARGS_5; ldq a5, 48(sp)
-
-# ifdef IS_IN_libpthread
-# define __local_enable_asynccancel __pthread_enable_asynccancel
-# define __local_disable_asynccancel __pthread_disable_asynccancel
-# define __local_multiple_threads __pthread_multiple_threads
-# elif !defined NOT_IN_libc
-# define __local_enable_asynccancel __libc_enable_asynccancel
-# define __local_disable_asynccancel __libc_disable_asynccancel
-# define __local_multiple_threads __libc_multiple_threads
-# elif defined IS_IN_librt
-# define __local_enable_asynccancel __librt_enable_asynccancel
-# define __local_disable_asynccancel __librt_disable_asynccancel
-# else
-# error Unsupported library
-# endif
-
-# ifdef PIC
-# define CENABLE bsr ra, __local_enable_asynccancel !samegp
-# define CDISABLE bsr ra, __local_disable_asynccancel !samegp
-# else
-# define CENABLE jsr ra, __local_enable_asynccancel; ldgp ra, 0(gp)
-# define CDISABLE jsr ra, __local_disable_asynccancel; ldgp ra, 0(gp)
-# endif
-
-# if defined IS_IN_libpthread || !defined NOT_IN_libc
-# ifndef __ASSEMBLER__
-extern int __local_multiple_threads attribute_hidden;
-# define SINGLE_THREAD_P \
- __builtin_expect (__local_multiple_threads == 0, 1)
-# elif defined(PIC)
-# define SINGLE_THREAD_P(reg) ldl reg, __local_multiple_threads(gp) !gprel
-# else
-# define SINGLE_THREAD_P(reg) \
- ldah reg, __local_multiple_threads(gp) !gprelhigh; \
- ldl reg, __local_multiple_threads(reg) !gprellow
-# endif
-# else
-# ifndef __ASSEMBLER__
-# define SINGLE_THREAD_P \
- __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
- header.multiple_threads) == 0, 1)
-# else
-# define SINGLE_THREAD_P(reg) \
- call_pal PAL_rduniq; \
- ldl reg, MULTIPLE_THREADS_OFFSET($0)
-# endif
-# endif
-
-#else
-
-# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
-
-#endif
-
-#ifndef __ASSEMBLER__
-# define RTLD_SINGLE_THREAD_P \
- __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
- header.multiple_threads) == 0, 1)
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c
deleted file mode 100644
index 1ac4c6a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_create.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c
deleted file mode 100644
index 9bffef3..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_delete.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c
deleted file mode 100644
index 24533a0..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c
deleted file mode 100644
index c110669..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c b/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c
deleted file mode 100644
index 93d4ad9..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <nptl/sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S b/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
deleted file mode 100644
index 083b341..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/nptl/vfork.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <tcb-offsets.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS \
- /* Load the current cached pid value across the vfork. */ \
- rduniq; \
- ldl a2, PID_OFFSET(v0); \
- mov v0, a1; \
- /* If the cached value is initialized (nonzero), then write \
- back its negation, or INT_MIN, to indicate that the pid \
- value is uninitialized in the child, and in the window \
- between here and the point at which we restore the value. */ \
- ldah t0, -0x8000; \
- negl a2, t1; \
- cmovne a2, t1, t0; \
- stl t0, PID_OFFSET(v0);
-
-PSEUDO (__vfork, vfork, 0)
-
- /* If we're back in the parent, restore the saved pid. */
- beq v0, 1f
- stl a2, PID_OFFSET(a1)
-1: ret
-
-PSEUDO_END (__vfork)
-libc_hidden_def (__vfork)
-weak_alias (__vfork, vfork)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/oldglob.c b/ports/sysdeps/unix/sysv/linux/alpha/oldglob.c
deleted file mode 100644
index 82c097e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/oldglob.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* This file contains only wrappers around the real glob functions. It
- became necessary since the glob_t structure changed. */
-#include <sys/types.h>
-#include <glob.h>
-#include <shlib-compat.h>
-
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-
-/* This is the old structure. The difference is that the gl_pathc and
- gl_offs elements have type `int'. */
-typedef struct
- {
- int gl_pathc; /* Count of paths matched by the pattern. */
- char **gl_pathv; /* List of matched pathnames. */
- int gl_offs; /* Slots to reserve in `gl_pathv'. */
- int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */
-
- /* If the GLOB_ALTDIRFUNC flag is set, the following functions
- are used instead of the normal file access functions. */
- void (*gl_closedir) (void *);
- struct dirent *(*gl_readdir) (void *);
- __ptr_t (*gl_opendir) (const char *);
- int (*gl_lstat) (const char *, struct stat *);
- int (*gl_stat) (const char *, struct stat *);
- } old_glob_t;
-
-
-int
-attribute_compat_text_section
-__old_glob (const char *pattern, int flags,
- int (*errfunc) (const char *, int),
- old_glob_t *pglob)
-{
- glob_t correct;
- int result;
-
- /* Construct an object of correct type. */
- correct.gl_pathc = pglob->gl_pathc;
- correct.gl_pathv = pglob->gl_pathv;
- correct.gl_offs = pglob->gl_offs;
- correct.gl_flags = pglob->gl_flags;
- correct.gl_closedir = pglob->gl_closedir;
- correct.gl_readdir = pglob->gl_readdir;
- correct.gl_opendir = pglob->gl_opendir;
- correct.gl_lstat = pglob->gl_lstat;
- correct.gl_stat = pglob->gl_stat;
-
- result = glob (pattern, flags, errfunc, &correct);
-
- /* And convert it back. */
- pglob->gl_pathc = correct.gl_pathc;
- pglob->gl_pathv = correct.gl_pathv;
- pglob->gl_offs = correct.gl_offs;
- pglob->gl_flags = correct.gl_flags;
- pglob->gl_closedir = correct.gl_closedir;
- pglob->gl_readdir = correct.gl_readdir;
- pglob->gl_opendir = correct.gl_opendir;
- pglob->gl_lstat = correct.gl_lstat;
- pglob->gl_stat = correct.gl_stat;
-
- return result;
-}
-compat_symbol (libc, __old_glob, glob, GLIBC_2_0);
-
-
-/* Free storage allocated in PGLOB by a previous `glob' call. */
-void
-attribute_compat_text_section
-__old_globfree (old_glob_t *pglob)
-{
- glob_t correct;
-
- /* We only need these two symbols. */
- correct.gl_pathc = pglob->gl_pathc;
- correct.gl_pathv = pglob->gl_pathv;
- correct.gl_offs = pglob->gl_offs;
-
- globfree (&correct);
-}
-compat_symbol (libc, __old_globfree, globfree, GLIBC_2_0);
-
-#endif
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/pipe.S b/ports/sysdeps/unix/sysv/linux/alpha/pipe.S
deleted file mode 100644
index 1e7ec1c..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/pipe.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/alpha/pipe.S>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/register-dump.h b/ports/sysdeps/unix/sysv/linux/alpha/register-dump.h
deleted file mode 100644
index 3afde51..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/register-dump.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* Dump registers.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <string.h>
-
-/* We will print the register dump in this format:
-
- V0: XXXXXXXXXXXXXXXX T0: XXXXXXXXXXXXXXXX T1: XXXXXXXXXXXXXXXX
- T2: XXXXXXXXXXXXXXXX T3: XXXXXXXXXXXXXXXX T4: XXXXXXXXXXXXXXXX
- T5: XXXXXXXXXXXXXXXX T6: XXXXXXXXXXXXXXXX T7: XXXXXXXXXXXXXXXX
- S0: XXXXXXXXXXXXXXXX S1: XXXXXXXXXXXXXXXX S2: XXXXXXXXXXXXXXXX
- S3: XXXXXXXXXXXXXXXX S4: XXXXXXXXXXXXXXXX S5: XXXXXXXXXXXXXXXX
- S6: XXXXXXXXXXXXXXXX A0: XXXXXXXXXXXXXXXX A1: XXXXXXXXXXXXXXXX
- A2: XXXXXXXXXXXXXXXX A3: XXXXXXXXXXXXXXXX A4: XXXXXXXXXXXXXXXX
- A5: XXXXXXXXXXXXXXXX T8: XXXXXXXXXXXXXXXX T9: XXXXXXXXXXXXXXXX
- T10: XXXXXXXXXXXXXXXX T11: XXXXXXXXXXXXXXXX RA: XXXXXXXXXXXXXXXX
- T12: XXXXXXXXXXXXXXXX AT: XXXXXXXXXXXXXXXX GP: XXXXXXXXXXXXXXXX
- SP: XXXXXXXXXXXXXXXX PC: XXXXXXXXXXXXXXXX
-
- FP0: XXXXXXXXXXXXXXXX FP1: XXXXXXXXXXXXXXXX FP2: XXXXXXXXXXXXXXXX
- FP3: XXXXXXXXXXXXXXXX FP4: XXXXXXXXXXXXXXXX FP5: XXXXXXXXXXXXXXXX
- FP6: XXXXXXXXXXXXXXXX FP7: XXXXXXXXXXXXXXXX FP8: XXXXXXXXXXXXXXXX
- FP9: XXXXXXXXXXXXXXXX FP10: XXXXXXXXXXXXXXXX FP11: XXXXXXXXXXXXXXXX
- FP12: XXXXXXXXXXXXXXXX FP13: XXXXXXXXXXXXXXXX FP14: XXXXXXXXXXXXXXXX
- FP15: XXXXXXXXXXXXXXXX FP16: XXXXXXXXXXXXXXXX FP17: XXXXXXXXXXXXXXXX
- FP18: XXXXXXXXXXXXXXXX FP19: XXXXXXXXXXXXXXXX FP20: XXXXXXXXXXXXXXXX
- FP21: XXXXXXXXXXXXXXXX FP22: XXXXXXXXXXXXXXXX FP23: XXXXXXXXXXXXXXXX
- FP24: XXXXXXXXXXXXXXXX FP25: XXXXXXXXXXXXXXXX FP26: XXXXXXXXXXXXXXXX
- FP27: XXXXXXXXXXXXXXXX FP28: XXXXXXXXXXXXXXXX FP29: XXXXXXXXXXXXXXXX
- FP30: XXXXXXXXXXXXXXXX FPCR: XXXXXXXXXXXXXXXX
-
- TA0: XXXXXXXXXXXXXXXX TA1: XXXXXXXXXXXXXXXX TA2: XXXXXXXXXXXXXXXX
-*/
-
-#define NREGS (32+32+3)
-
-static const char __attribute__((aligned(8))) regnames[NREGS][8] =
-{
- " V0: ", " T0: ", " T1: ",
- " T2: ", " T3: ", " T4: ",
- " T5: ", " T6: ", " T7: ",
- " S0: ", " S1: ", " S2: ",
- " S3: ", " S4: ", " S5: ",
- " S6: ", " A0: ", " A1: ",
- " A2: ", " A3: ", " A4: ",
- " A5: ", " T8: ", " T9: ",
- " T10: ", " T11: ", " RA: ",
- " T12: ", " AT: ", " GP: ",
- " SP: ", " PC: ",
-
- " FP0: ", " FP1: ", " FP2: ",
- " FP3: ", " FP4: ", " FP5: ",
- " FP6: ", " FP7: ", " FP8: ",
- " FP9: ", " FP10: ", " FP11: ",
- " FP12: ", " FP13: ", " FP14: ",
- " FP15: ", " FP16: ", " FP17: ",
- " FP18: ", " FP19: ", " FP20: ",
- " FP21: ", " FP22: ", " FP23: ",
- " FP24: ", " FP25: ", " FP26: ",
- " FP27: ", " FP28: ", " FP29: ",
- " FP30: ", " FPCR: ",
-
- " TA0: ", " TA1: ", " TA2: "
-};
-
-#define O(FIELD, LF) offsetof(struct sigcontext, FIELD) + LF
-
-static const int offsets[NREGS] =
-{
- O(sc_regs[0], 0), O(sc_regs[1], 0), O(sc_regs[2], 1),
- O(sc_regs[3], 0), O(sc_regs[4], 0), O(sc_regs[5], 1),
- O(sc_regs[6], 0), O(sc_regs[7], 0), O(sc_regs[8], 1),
- O(sc_regs[9], 0), O(sc_regs[10], 0), O(sc_regs[11], 1),
- O(sc_regs[12], 0), O(sc_regs[13], 0), O(sc_regs[14], 1),
- O(sc_regs[15], 0), O(sc_regs[16], 0), O(sc_regs[17], 1),
- O(sc_regs[18], 0), O(sc_regs[19], 0), O(sc_regs[20], 1),
- O(sc_regs[21], 0), O(sc_regs[22], 0), O(sc_regs[23], 1),
- O(sc_regs[24], 0), O(sc_regs[25], 0), O(sc_regs[26], 1),
- O(sc_regs[27], 0), O(sc_regs[28], 0), O(sc_regs[29], 1),
- O(sc_regs[30], 0), O(sc_pc, 2),
-
- O(sc_fpregs[0], 0), O(sc_fpregs[1], 0), O(sc_fpregs[2], 1),
- O(sc_fpregs[3], 0), O(sc_fpregs[4], 0), O(sc_fpregs[5], 1),
- O(sc_fpregs[6], 0), O(sc_fpregs[7], 0), O(sc_fpregs[8], 1),
- O(sc_fpregs[9], 0), O(sc_fpregs[10], 0), O(sc_fpregs[11], 1),
- O(sc_fpregs[12], 0), O(sc_fpregs[13], 0), O(sc_fpregs[14], 1),
- O(sc_fpregs[15], 0), O(sc_fpregs[16], 0), O(sc_fpregs[17], 1),
- O(sc_fpregs[18], 0), O(sc_fpregs[19], 0), O(sc_fpregs[20], 1),
- O(sc_fpregs[21], 0), O(sc_fpregs[22], 0), O(sc_fpregs[23], 1),
- O(sc_fpregs[24], 0), O(sc_fpregs[25], 0), O(sc_fpregs[26], 1),
- O(sc_fpregs[27], 0), O(sc_fpregs[28], 0), O(sc_fpregs[29], 1),
- O(sc_fpregs[30], 0), O(sc_fpcr, 2),
-
- O(sc_traparg_a0, 0), O(sc_traparg_a1, 0), O(sc_traparg_a2, 1)
-};
-
-#undef O
-
-static void
-register_dump (int fd, struct sigcontext *ctx)
-{
- char buf[NREGS*(8+16) + 25 + 80];
- char *p = buf;
- size_t i;
-
- p = stpcpy (p, "Register dump:\n\n");
-
- for (i = 0; i < NREGS; ++i)
- {
- int this_offset, this_lf;
- unsigned long val;
- signed long j;
-
- this_offset = offsets[i];
- this_lf = this_offset & 7;
-
- val = *(unsigned long *)(((size_t)ctx + this_offset) & -8);
-
- memcpy (p, regnames[i], 8);
- p += 8;
-
- for (j = 60; j >= 0; j -= 4)
- {
- unsigned long x = (val >> j) & 15;
- x += x < 10 ? '0' : 'a' - 10;
- *p++ = x;
- }
-
- if (this_lf > 0)
- {
- if (this_lf > 1)
- *p++ = '\n';
- *p++ = '\n';
- }
- }
-
- write (fd, buf, p - buf);
-}
-
-#define REGISTER_DUMP register_dump (fd, ctx)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S b/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
deleted file mode 100644
index 2cde160..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Richard Henderson <rth@cygnus.com>, 1998
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/* On Alpha we desparately want to avoid having to issue an imb. Ordinarily
- the kernel would have to issue one after setting up the signal return
- stack, but the Linux rt_sigaction syscall is prepared to accept a pointer
- to the sigreturn syscall, instead of inlining it on the stack.
-
- This just about halves signal delivery time. */
-
- .text
-
-ENTRY(__syscall_rt_sigaction)
- cfi_startproc
- ldgp gp,0(pv)
-#ifdef PROF
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
-#endif
- .prologue 1
-
- beq a1, 0f
- ldl t0, 8(a1) # sa_flags
-
- ldah a4, __syscall_sigreturn(gp) !gprelhigh
- ldah t1, __syscall_rt_sigreturn(gp) !gprelhigh
- lda a4, __syscall_sigreturn(a4) !gprellow
- lda t1, __syscall_rt_sigreturn(t1) !gprellow
- and t0, 0x40, t0 # SA_SIGINFO
- cmovne t0, t1, a4
-
-0: ldi v0, __NR_rt_sigaction
- callsys
- bne a3, SYSCALL_ERROR_LABEL
- ret
- cfi_endproc
-PSEUDO_END(__syscall_rt_sigaction)
-
-/* To enable unwinding through the signal frame without special hackery
- elsewhere, describe the entire struct sigcontext with unwind info.
-
- In order to minimize the size of the encoding, we set the CFA to the
- end of the sigcontext, which makes all of the registers have small
- negative offsets from that. */
-
- .macro SIGCONTEXT_REGS_I base, from=0
- cfi_offset (\from, \base + (4 + \from) * 8)
- .if 30-\from
- SIGCONTEXT_REGS_I \base, "(\from+1)"
- .endif
- .endm
-
- .macro SIGCONTEXT_REGS_F base, from=32
- cfi_offset (\from, \base + (4 + 1 + \from) * 8)
- .if 62-\from
- SIGCONTEXT_REGS_F \base, "(\from+1)"
- .endif
- .endm
-
- .macro SIGCONTEXT_REGS base
- SIGCONTEXT_REGS_I \base
- SIGCONTEXT_REGS_F \base
- cfi_offset (63, \base + (4 + 32 + 1 + 32) * 8)
- cfi_offset (64, \base + 2 * 8)
- .endm
-
- cfi_startproc
- cfi_return_column (64)
- .cfi_signal_frame
- SIGCONTEXT_REGS -648
- cfi_def_cfa_offset (648)
-
- /* While this frame is marked as a signal frame, that only applies
- to how this return address is handled for the outer frame.
- The return address that arrived here, from the inner frame, is
- not marked as a signal frame and so the unwinder still tries to
- subtract 1 to examine the presumed call insn. Thus we must
- extend the unwind info to a nop before the start. */
- nop
- .align 4
-
-__syscall_sigreturn:
- mov sp, a0
- ldi v0, __NR_sigreturn
- callsys
- .size __syscall_sigreturn, .-__syscall_sigreturn
- .type __syscall_sigreturn, @function
-
- /* See above wrt including the nop. */
- cfi_def_cfa_offset (176 + 648)
- nop
- .align 4
-
-__syscall_rt_sigreturn:
- mov sp,a0
- ldi v0,__NR_rt_sigreturn
- callsys
- .size __syscall_rt_sigreturn, .-__syscall_rt_sigreturn
- .type __syscall_rt_sigreturn, @function
-
- cfi_endproc
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/semctl.c b/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
deleted file mode 100644
index 4cb834a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/semctl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/arm/semctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/setcontext.S b/ports/sysdeps/unix/sysv/linux/alpha/setcontext.S
deleted file mode 100644
index 5a64e95..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/setcontext.S
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Install given context.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <ucontext-offsets.h>
-
-
-/* In case the user fiddled it, copy the "official" signal mask
- from the ucontext_t into the sigcontext structure. */
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS \
- ldq $0, UC_SIGMASK($16); \
- stq $0, UC_SIGCTX+SC_MASK($16); \
- lda $16, UC_SIGCTX($16);
-
-PSEUDO(__setcontext, sigreturn, 1)
- ret
-PSEUDO_END(__setcontext)
-weak_alias (__setcontext, setcontext)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/setfpucw.c b/ports/sysdeps/unix/sysv/linux/alpha/setfpucw.c
deleted file mode 100644
index 5e5a352..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/setfpucw.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Set FP exception mask and rounding mode.
- Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <fpu_control.h>
-#include <fenv_libc.h>
-
-
-#define convert_bit(M, F, T) \
- ((T) < (F) \
- ? ((M) / ((F) / (T))) & (T) \
- : ((M) & (F)) * ((T) / (F)))
-
-
-void
-__setfpucw (fpu_control_t fpu_control)
-{
- unsigned long fpcr, swcr, fc = (int)fpu_control;
-
- /* ??? If this was a real external interface we'd want to read the current
- exception state with __ieee_get_fp_control. But this is an internal
- function only called at process startup, so there's no point in trying
- to preserve exceptions that cannot have been raised yet. Indeed, this
- entire function is likely to be one big nop unless the user overrides
- the default __fpu_control variable. */
-
- /* Convert the rounding mode from fpu_control.h format. */
- const unsigned long conv_rnd
- = ( (FE_TOWARDZERO << (_FPU_RC_ZERO >> 8))
- | (FE_DOWNWARD << (_FPU_RC_DOWN >> 8))
- | (FE_TONEAREST << (_FPU_RC_NEAREST >> 8))
- | (FE_UPWARD << (_FPU_RC_UP >> 8)));
-
- fpcr = ((conv_rnd >> ((fc >> 8) & 3)) & 3) << FPCR_ROUND_SHIFT;
-
- /* Convert the exception mask from fpu_control.h format. */
- swcr = convert_bit (~fc, _FPU_MASK_IM, FE_INVALID >> SWCR_ENABLE_SHIFT);
- swcr |= convert_bit (~fc, _FPU_MASK_DM, FE_UNDERFLOW >> SWCR_ENABLE_SHIFT);
- swcr |= convert_bit (~fc, _FPU_MASK_ZM, FE_DIVBYZERO >> SWCR_ENABLE_SHIFT);
- swcr |= convert_bit (~fc, _FPU_MASK_OM, FE_OVERFLOW >> SWCR_ENABLE_SHIFT);
- swcr |= convert_bit (~fc, _FPU_MASK_PM, FE_INEXACT >> SWCR_ENABLE_SHIFT);
-
- /* Install everything. */
- __fpu_control = fc;
- asm volatile ("mt_fpcr %0" : : "f"(fpcr));
- __ieee_set_fp_control(swcr);
-}
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c b/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c
deleted file mode 100644
index f73ed6f..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/shmctl.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/arm/shmctl.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c b/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c
deleted file mode 100644
index 38242c6..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sigaction.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <sys/cdefs.h>
-#include <stddef.h>
-
-/*
- * In order to get the hidden arguments for rt_sigaction set up
- * properly, we need to call the assembly version. Detect this in the
- * INLINE_SYSCALL macro, and fail to expand inline in that case.
- */
-
-#undef INLINE_SYSCALL
-#define INLINE_SYSCALL(name, nr, args...) \
- (__NR_##name == __NR_rt_sigaction \
- ? __syscall_rt_sigaction(args) \
- : INLINE_SYSCALL1(name, nr, args))
-
-struct kernel_sigaction;
-extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *,
- struct kernel_sigaction *, size_t);
-
-#include <sysdeps/unix/sysv/linux/sigaction.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h b/ports/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
deleted file mode 100644
index 211dc1d..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright (C) 1999-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define SIGCONTEXT int _code, struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS _code,
-#define GET_PC(ctx) ((void *) (ctx)->sc_pc)
-#define GET_FRAME(ctx) ((void *) (ctx)->sc_regs[15])
-#define GET_STACK(ctx) ((void *) (ctx)->sc_regs[30])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sigprocmask.c b/ports/sysdeps/unix/sysv/linux/alpha/sigprocmask.c
deleted file mode 100644
index a6abaf9..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sigprocmask.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger (davidm@azstarnet.com).
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sysdep.h>
-#include <signal.h>
-
-/* When there is kernel support for more than 64 signals, we'll have to
- switch to a new system call convention here. */
-
-int
-__sigprocmask (int how, const sigset_t *set, sigset_t *oset)
-{
- unsigned long int setval;
- long result;
-
- if (set)
- setval = set->__val[0];
- else
- {
- setval = 0;
- how = SIG_BLOCK; /* ensure blocked mask doesn't get changed */
- }
-
- result = INLINE_SYSCALL (osf_sigprocmask, 2, how, setval);
- if (result == -1)
- /* If there are ever more than 63 signals, we need to recode this
- in assembler since we wouldn't be able to distinguish a mask of
- all 1s from -1, but for now, we're doing just fine... */
- return result;
-
- if (oset)
- {
- oset->__val[0] = result;
- result = _SIGSET_NWORDS;
- while (--result > 0)
- oset->__val[result] = 0;
- }
- return 0;
-}
-
-weak_alias (__sigprocmask, sigprocmask);
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sigsuspend.S b/ports/sysdeps/unix/sysv/linux/alpha/sigsuspend.S
deleted file mode 100644
index aa5e6c6..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sigsuspend.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1993-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger <davidm@cs.arizona.edu>, 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-/* sigsuspend is a special syscall since it needs to dereference the
- sigset. This will have to change when we have more than 64 signals. */
-
-#ifndef NO_CANCELLATION
-#include <sysdep.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS ldq a0, 0(a0);
-
-PSEUDO(__sigsuspend_nocancel, sigsuspend, 1)
- ret
-/* Use END, not PSEUDO_END, so that we don't issue two $syscall_error
- symbols; we'll jump into __sigsuspend for the error case. */
-END(__sigsuspend_nocancel)
-#endif /* NO_CANCELLATION */
-
-#include <sysdep-cancel.h>
-
-#undef PSEUDO_PREPARE_ARGS
-#define PSEUDO_PREPARE_ARGS ldq a0, 0(a0);
-
-PSEUDO(__sigsuspend, sigsuspend, 1)
- ret
-PSEUDO_END(__sigsuspend)
-libc_hidden_def (__sigsuspend)
-weak_alias (__sigsuspend, sigsuspend)
-strong_alias (__sigsuspend, __libc_sigsuspend)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sizes.h b/ports/sysdeps/unix/sysv/linux/alpha/sizes.h
deleted file mode 100644
index 6eb3581..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sizes.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SIZES_H
-#define _SIZES_H 1
-
-#define PTR_SIZE_STR "8"
-
-#endif /* sizes.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/statfs64.c b/ports/sysdeps/unix/sysv/linux/alpha/statfs64.c
deleted file mode 100644
index fe39cc4..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/statfs64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/statfs64.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/statvfs.c b/ports/sysdeps/unix/sysv/linux/alpha/statvfs.c
deleted file mode 100644
index 78069e9..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/statvfs.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/statvfs.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/statvfs64.c b/ports/sysdeps/unix/sysv/linux/alpha/statvfs64.c
deleted file mode 100644
index c80e177..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/statvfs64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/statvfs64.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/swapcontext.S b/ports/sysdeps/unix/sysv/linux/alpha/swapcontext.S
deleted file mode 100644
index fd202a4..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/swapcontext.S
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Save current context and install the given one.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <ucontext-offsets.h>
-
-ENTRY(__swapcontext)
-
-#ifdef PROF
- ldgp $29, 0($27)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#elif defined PIC
- .prologue 0
-#else
- ldgp $29, 0($27)
- .prologue 1
-#endif
-
-#ifdef PIC
- unop
- bsr $0, __getcontext_x !samegp
- mov $17, $16
- br $31, __setcontext !samegp
-#else
- jsr $0, __getcontext_x
- mov $17, $16
- jmp $31, __setcontext
-#endif
-
-END(__swapcontext)
-weak_alias (__swapcontext, swapcontext)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sys/acct.h b/ports/sysdeps/unix/sysv/linux/alpha/sys/acct.h
deleted file mode 100644
index 5e647d8..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sys/acct.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_ACCT_H
-
-#define _SYS_ACCT_H 1
-#include <features.h>
-
-#define __need_time_t
-#include <time.h>
-
-
-__BEGIN_DECLS
-
-#define ACCT_COMM 16
-
-struct acct
- {
- char ac_comm[ACCT_COMM]; /* Accounting command name. */
- time_t ac_utime; /* Accounting user time. */
- time_t ac_stime; /* Accounting system time. */
- time_t ac_etime; /* Accounting elapsed time. */
- time_t ac_btime; /* Beginning time. */
- unsigned int ac_uid; /* Accounting user ID. */
- unsigned int ac_gid; /* Accounting group ID. */
- unsigned int ac_tty; /* Controlling tty. */
- /* Please note that the value of the `ac_tty' field, a device number,
- is encoded differently in the kernel and for the libc dev_t type. */
- char ac_flag; /* Accounting flag. */
- long int ac_minflt; /* Accounting minor pagefaults. */
- long int ac_majflt; /* Accounting major pagefaults. */
- long int ac_exitcode; /* Accounting process exitcode. */
- };
-
-enum
- {
- AFORK = 0001, /* Has executed fork, but no exec. */
- ASU = 0002, /* Used super-user privileges. */
- ACORE = 0004, /* Dumped core. */
- AXSIG = 0010 /* Killed by a signal. */
- };
-
-#define AHZ 100
-
-
-/* Switch process accounting on and off. */
-extern int acct (const char *__filename) __THROW;
-
-__END_DECLS
-
-#endif /* sys/acct.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sys/io.h b/ports/sysdeps/unix/sysv/linux/alpha/sys/io.h
deleted file mode 100644
index a3b94fa..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sys/io.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_IO_H
-
-#define _SYS_IO_H 1
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* If TURN_ON is TRUE, request for permission to do direct i/o on the
- port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O
- permission off for that range. This call requires root privileges.
-
- Portability note: not all Linux platforms support this call. Most
- platforms based on the PC I/O architecture probably will, however.
- E.g., Linux/Alpha for Alpha PCs supports this. */
-extern int ioperm (unsigned long int __from, unsigned long int __num,
- int __turn_on) __THROW;
-
-/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to
- access any I/O port is granted. This call requires root
- privileges. */
-extern int iopl (int __level) __THROW;
-
-/* Return the physical address of the DENSE I/O memory or NULL if none
- is available (e.g. on a jensen). */
-extern unsigned long int _bus_base (void) __THROW __attribute__ ((const));
-extern unsigned long int bus_base (void) __THROW __attribute__ ((const));
-
-/* Return the physical address of the SPARSE I/O memory. */
-extern unsigned long _bus_base_sparse (void) __THROW __attribute__ ((const));
-extern unsigned long bus_base_sparse (void) __THROW __attribute__ ((const));
-
-/* Return the HAE shift used by the SPARSE I/O memory. */
-extern int _hae_shift (void) __THROW __attribute__ ((const));
-extern int hae_shift (void) __THROW __attribute__ ((const));
-
-/* Previous three are deprecated in favour of the following, which
- knows about multiple PCI "hoses". Provide the PCI bus and dfn
- numbers just as to pciconfig_read/write. */
-
-enum __pciconfig_iobase_which
-{
- IOBASE_HOSE = 0, /* Return hose index. */
- IOBASE_SPARSE_MEM = 1, /* Return physical memory addresses. */
- IOBASE_DENSE_MEM = 2,
- IOBASE_SPARSE_IO = 3,
- IOBASE_DENSE_IO = 4
-};
-
-extern long pciconfig_iobase(enum __pciconfig_iobase_which __which,
- unsigned long int __bus,
- unsigned long int __dfn)
- __THROW __attribute__ ((const));
-
-/* Access PCI space protected from machine checks. */
-extern int pciconfig_read (unsigned long int __bus,
- unsigned long int __dfn,
- unsigned long int __off,
- unsigned long int __len,
- unsigned char *__buf) __THROW;
-
-extern int pciconfig_write (unsigned long int __bus,
- unsigned long int __dfn,
- unsigned long int __off,
- unsigned long int __len,
- unsigned char *__buf) __THROW;
-
-/* Userspace declarations. */
-extern unsigned int inb (unsigned long __port) __THROW;
-extern unsigned int inw (unsigned long __port) __THROW;
-extern unsigned int inl (unsigned long __port) __THROW;
-extern void outb (unsigned char __b, unsigned long __port) __THROW;
-extern void outw (unsigned short __w, unsigned long __port) __THROW;
-extern void outl (unsigned int __l, unsigned long __port) __THROW;
-
-__END_DECLS
-
-#endif /* _SYS_IO_H */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h b/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
deleted file mode 100644
index 916ab76..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sys/procfs.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H 1
-
-/* This is somehow modelled after the file of the same name on SysVr4
- systems. It provides a definition of the core file format for ELF
- used on Linux. */
-
-#include <features.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/ucontext.h>
-#include <sys/user.h>
-
-__BEGIN_DECLS
-
-/*
- * The OSF/1 version of <sys/procfs.h> makes gregset_t 46 entries long.
- * I have no idea why that is so. For now, we just leave it at 33
- * (32 general regs + processor status word).
- */
-#define ELF_NGREG 33
-#define ELF_NFPREG 32
-
-typedef unsigned long elf_greg_t;
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-typedef double elf_fpreg_t;
-typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
-
-struct elf_siginfo
- {
- int si_signo; /* Signal number. */
- int si_code; /* Extra code. */
- int si_errno; /* Errno. */
- };
-
-/* Definitions to generate Intel SVR4-like core files. These mostly
- have the same names as the SVR4 types with "elf_" tacked on the
- front to prevent clashes with linux definitions, and the typedef
- forms have been avoided. This is mostly like the SVR4 structure,
- but more Linuxy, with things that Linux does not support and which
- gdb doesn't really use excluded. Fields present but not used are
- marked with "XXX". */
-struct elf_prstatus
- {
-#if 0
- long int pr_flags; /* XXX Process flags. */
- short int pr_why; /* XXX Reason for process halt. */
- short int pr_what; /* XXX More detailed reason. */
-#endif
- struct elf_siginfo pr_info; /* Info associated with signal. */
- short int pr_cursig; /* Current signal. */
- unsigned long int pr_sigpend; /* Set of pending signals. */
- unsigned long int pr_sighold; /* Set of held signals. */
-#if 0
- struct sigaltstack pr_altstack; /* Alternate stack info. */
- struct sigaction pr_action; /* Signal action for current sig. */
-#endif
- __pid_t pr_pid;
- __pid_t pr_ppid;
- __pid_t pr_pgrp;
- __pid_t pr_sid;
- struct timeval pr_utime; /* User time. */
- struct timeval pr_stime; /* System time. */
- struct timeval pr_cutime; /* Cumulative user time. */
- struct timeval pr_cstime; /* Cumulative system time. */
-#if 0
- long int pr_instr; /* Current instruction. */
-#endif
- elf_gregset_t pr_reg; /* GP registers. */
- int pr_fpvalid; /* True if math copro being used. */
- };
-
-
-#define ELF_PRARGSZ (80) /* Number of chars for args */
-
-struct elf_prpsinfo
- {
- char pr_state; /* Numeric process state. */
- char pr_sname; /* Char for pr_state. */
- char pr_zomb; /* Zombie. */
- char pr_nice; /* Nice val. */
- unsigned long int pr_flag; /* Flags. */
- unsigned int pr_uid;
- unsigned int pr_gid;
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
- /* Lots missing */
- char pr_fname[16]; /* Filename of executable. */
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
- };
-
-/* Addresses. */
-typedef void *psaddr_t;
-
-/* Register sets. Linux has different names. */
-typedef gregset_t prgregset_t;
-typedef fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
- therefore habe only ine PID type. */
-typedef __pid_t lwpid_t;
-
-
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-
-__END_DECLS
-
-#endif /* sys/procfs.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/ports/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
deleted file mode 100644
index 43c6b1a..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1998-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H 1
-
-#include <features.h>
-#include <signal.h>
-
-#include <bits/sigcontext.h>
-
-
-/* Type for general register. */
-typedef long int greg_t;
-
-/* Number of general registers. */
-#define NGREG 33
-
-/* Container for all general registers. */
-typedef greg_t gregset_t[NGREG];
-
-/* Type for floating-point register. */
-typedef long int fpreg_t;
-
-/* Number of general registers. */
-#define NFPREG 32
-
-/* Container for all general registers. */
-typedef fpreg_t fpregset_t[NFPREG];
-
-
-/* A machine context is exactly a sigcontext. */
-typedef struct sigcontext mcontext_t;
-
-/* Userlevel context. */
-typedef struct ucontext
- {
- unsigned long int uc_flags;
- struct ucontext *uc_link;
- unsigned long __uc_osf_sigmask;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- __sigset_t uc_sigmask;
- } ucontext_t;
-
-#endif /* sys/ucontext.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sys/user.h b/ports/sysdeps/unix/sysv/linux/alpha/sys/user.h
deleted file mode 100644
index 42bb2e6..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sys/user.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1999-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _SYS_USER_H
-#define _SYS_USER_H 1
-
-/* The whole purpose of this file is for gdb/strace and gdb/strace
- only. Don't read too much into it. Don't use it for anything other
- than gdb/strace unless you know what you are doing. */
-
-#include <asm/reg.h>
-
-struct user
-{
- unsigned long int regs[EF_SIZE / 8 + 32]; /* integer and fp regs */
- size_t u_tsize; /* text size (pages) */
- size_t u_dsize; /* data size (pages) */
- size_t u_ssize; /* stack size (pages) */
- unsigned long int start_code; /* text starting address */
- unsigned long int start_data; /* data starting address */
- unsigned long int start_stack; /* stack starting address */
- long int signal; /* signal causing core dump */
- struct regs *u_ar0; /* help gdb find registers */
- unsigned long int magic; /* identifies a core file */
- char u_comm[32]; /* user command name */
-};
-
-#define PAGE_SHIFT 13
-#define PAGE_SIZE (1UL << PAGE_SHIFT)
-#define PAGE_MASK (~(PAGE_SIZE-1))
-#define NBPG PAGE_SIZE
-#define UPAGES 1
-#define HOST_TEXT_START_ADDR (u.start_code)
-#define HOST_DATA_START_ADDR (u.start_data)
-#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
-
-#endif /* sys/user.h */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/syscall.S b/ports/sysdeps/unix/sysv/linux/alpha/syscall.S
deleted file mode 100644
index b0088e5..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/syscall.S
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright (C) 1996-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Mosberger <davidm@azstarnet.com>, 1996.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-/*
- * This is for COMPATIBILITY with Linux/x86 only. Linux/Alpha system
- * calls return an error indication in a3. This allows arbitrary 64bit
- * values to be returned in v0 (because negative values are not
- * mistaken as error numbers). However, C allows only one value to
- * be returned, so the interface below folds the error indication passed in
- * a3 back into v0: it sets v0 to -errno if an error occurs. Thus,
- * no negative 64bit numbers can be returned. To avoid this problem,
- * use assembly stubs wherever possible/convenient.
- *
- * Usage:
- *
- * long syscall(syscall_number, arg1, arg2, arg3, arg4, arg5, arg6)
- *
- * syscall_number = the index of the system call we're invoking
- * arg1-arg6 = up to 6 integer arguments to the system call
- *
- * We need to do some arg shifting: the kernel expects the
- * syscall number in v0 and the first six args in a0-a5.
- *
- */
-
-
-LEAF(__syscall, 0)
-#ifdef PROF
- ldgp gp, 0(pv)
- .set noat
- lda AT, _mcount
- jsr AT, (AT), _mcount
- .set at
- .prologue 1
-#else
- .prologue 0
-#endif
-
- mov a0, v0 /* Syscall number -> v0 */
- mov a1, a0 /* arg1-arg5 -> a0-a4 */
- mov a2, a1
- mov a3, a2
- mov a4, a3
- mov a5, a4
- ldq a5,0(sp) /* arg6 -> a5 */
-
- call_pal PAL_callsys /* Invoke system call */
- bne a3, SYSCALL_ERROR_LABEL
- ret
-
-PSEUDO_END(__syscall)
-
-weak_alias (__syscall, syscall)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/syscalls.list b/ports/sysdeps/unix/sysv/linux/alpha/syscalls.list
deleted file mode 100644
index de36880..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/syscalls.list
+++ /dev/null
@@ -1,70 +0,0 @@
-# File name Caller Syscall name # args Strong name Weak names
-
-oldmsgctl EXTRA msgctl i:iip __old_msgctl msgctl@GLIBC_2.0
-msgget - msgget i:ii __msgget msgget
-msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
-msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
-shmat - osf_shmat i:ipi __shmat shmat
-oldshmctl EXTRA shmctl i:iip __old_shmctl shmctl@GLIBC_2.0
-shmdt - shmdt i:s __shmdt shmdt
-shmget - shmget i:iii __shmget shmget
-semop - semop i:ipi __semop semop
-semtimedop - semtimedop i:ipip semtimedop
-semget - semget i:iii __semget semget
-oldsemctl EXTRA semctl i:iiii __old_semctl semctl@GLIBC_2.0
-
-sigstack - sigstack 2 sigstack
-vfork - vfork 0 __vfork vfork
-
-getpriority - getpriority i:ii __getpriority getpriority
-
-# proper socket implementations:
-accept - accept Ci:iBN __libc_accept __accept accept
-bind - bind i:ipi __bind bind
-connect - connect Ci:ipi __libc_connect __connect connect
-getpeername - getpeername i:ipp __getpeername getpeername
-getsockname - getsockname i:ipp __getsockname getsockname
-getsockopt - getsockopt i:iiiBN __getsockopt getsockopt
-listen - listen i:ii __listen listen
-recv - recv Ci:ibni __libc_recv __recv recv
-recvfrom - recvfrom Ci:ibniBN __libc_recvfrom __recvfrom recvfrom
-recvmsg - recvmsg Ci:ipi __libc_recvmsg __recvmsg recvmsg
-send - send Ci:ibni __libc_send __send send
-sendmsg - sendmsg Ci:ipi __libc_sendmsg __sendmsg sendmsg
-sendto - sendto Ci:ibnibn __libc_sendto __sendto sendto
-setsockopt - setsockopt i:iiibn __setsockopt setsockopt
-shutdown - shutdown i:ii __shutdown shutdown
-socket - socket i:iii __socket socket
-socketpair - socketpair i:iiif __socketpair socketpair
-
-ptrace - ptrace 4 __ptrace ptrace
-
-# access pci space protected from machine checks:
-pciconfig_read EXTRA pciconfig_read 5 pciconfig_read
-pciconfig_write EXTRA pciconfig_write 5 pciconfig_write
-pciconfig_iobase EXTRA pciconfig_iobase 3 __pciconfig_iobase pciconfig_iobase
-
-# support old timeval32 entry points
-osf_select - osf_select C:5 __select_tv32 __select@GLIBC_2.0 select@GLIBC_2.0
-osf_gettimeofday - osf_gettimeofday 2 __gettimeofday_tv32 __gettimeofday@GLIBC_2.0 gettimeofday@GLIBC_2.0
-osf_settimeofday - osf_settimeofday 2 __settimeofday_tv32 settimeofday@GLIBC_2.0
-osf_getitimer - osf_getitimer 2 __getitimer_tv32 getitimer@GLIBC_2.0
-osf_setitimer - osf_setitimer 3 __setitimer_tv32 setitimer@GLIBC_2.0
-osf_utimes - osf_utimes 2 __utimes_tv32 utimes@GLIBC_2.0
-osf_getrusage - osf_getrusage 2 __getrusage_tv32 getrusage@GLIBC_2.0
-osf_wait4 - osf_wait4 4 __wait4_tv32 wait4@GLIBC_2.0
-
-# support new timeval64 entry points
-select - select C:5 __GI___select select@@GLIBC_2.1 __select@@GLIBC_2.1
-gettimeofday - gettimeofday 2 __GI___gettimeofday gettimeofday@@GLIBC_2.1 __gettimeofday@@GLIBC_2.1
-settimeofday - settimeofday 2 __settimeofday settimeofday@@GLIBC_2.1
-getitimer - getitimer 2 __getitimer getitimer@@GLIBC_2.1
-setitimer - setitimer 3 __setitimer setitimer@@GLIBC_2.1
-utimes - utimes 2 __utimes utimes@@GLIBC_2.1
-getrusage - getrusage 2 __getrusage getrusage@@GLIBC_2.1
-wait4 - wait4 4 __wait4 wait4@@GLIBC_2.1
-
-# avoid 64-bit aliases on 32-bit statfs syscalls
-fstatfs - fstatfs i:ip __fstatfs fstatfs
-statfs - statfs i:sp __statfs statfs
-
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c b/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c
deleted file mode 100644
index 467c5bb..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-
-static long int linux_sysconf (int name);
-
-#define CSHAPE(totalsize, linesize, assoc) \
- ((totalsize & ~0xff) | (linesize << 4) | assoc)
-
-extern long __libc_alpha_cache_shape[4];
-
-/* Get the value of the system variable NAME. */
-long int
-__sysconf (int name)
-{
- long shape, index;
-
- /* We only handle the cache information here (for now). */
- if (name < _SC_LEVEL1_ICACHE_SIZE || name > _SC_LEVEL4_CACHE_LINESIZE)
- return linux_sysconf (name);
-
- /* No Alpha has L4 caches. */
- if (name >= _SC_LEVEL4_CACHE_SIZE)
- return -1;
-
- index = (name - _SC_LEVEL1_ICACHE_SIZE) / 3;
- shape = __libc_alpha_cache_shape[index];
- if (shape == -2)
- {
- long shape_l1i, shape_l1d, shape_l2, shape_l3 = -1;
-
- /* ??? In the cases below for which we do not know L1 cache sizes,
- we could do timings to measure sizes. But for the Bcache, it's
- generally big enough that (without additional help) TLB effects
- get in the way. We'd either need to be able to allocate large
- pages or have the kernel do the timings from KSEG. Fortunately,
- kernels beginning with 2.6.5 will pass us this info in auxvec. */
-
- switch (__builtin_alpha_implver ())
- {
- case 0: /* EV4 */
- /* EV4/LCA45 had 8k L1 caches; EV45 had 16k L1 caches. */
- /* EV4/EV45 had 128k to 16M 32-byte direct Bcache. LCA45
- had 64k to 8M 8-byte direct Bcache. Can't tell. */
- shape_l1i = shape_l1d = shape_l2 = CSHAPE (0, 5, 1);
- break;
-
- case 1: /* EV5 */
- if (__builtin_alpha_amask (1 << 8))
- {
- /* MAX insns not present; either EV5 or EV56. */
- shape_l1i = shape_l1d = CSHAPE(8*1024, 5, 1);
- /* ??? L2 and L3 *can* be configured as 32-byte line. */
- shape_l2 = CSHAPE (96*1024, 6, 3);
- /* EV5/EV56 has 1M to 16M Bcache. */
- shape_l3 = CSHAPE (0, 6, 1);
- }
- else
- {
- /* MAX insns present; either PCA56 or PCA57. */
- /* PCA56 had 16k 64-byte cache; PCA57 had 32k Icache. */
- /* PCA56 had 8k 64-byte cache; PCA57 had 16k Dcache. */
- /* PCA5[67] had 512k to 4M Bcache. */
- shape_l1i = shape_l1d = shape_l2 = CSHAPE (0, 6, 1);
- }
- break;
-
- case 2: /* EV6 */
- shape_l1i = shape_l1d = CSHAPE(64*1024, 6, 2);
- /* EV6/EV67/EV68* had 1M to 16M Bcache. */
- shape_l2 = CSHAPE (0, 6, 1);
- break;
-
- case 3: /* EV7 */
- shape_l1i = shape_l1d = CSHAPE(64*1024, 6, 2);
- shape_l2 = CSHAPE(7*1024*1024/4, 6, 7);
- break;
-
- default:
- shape_l1i = shape_l1d = shape_l2 = 0;
- break;
- }
-
- __libc_alpha_cache_shape[0] = shape_l1i;
- __libc_alpha_cache_shape[1] = shape_l1d;
- __libc_alpha_cache_shape[2] = shape_l2;
- __libc_alpha_cache_shape[3] = shape_l3;
- shape = __libc_alpha_cache_shape[index];
- }
-
- if (shape <= 0)
- return shape;
-
- switch ((name - _SC_LEVEL1_ICACHE_SIZE) % 3)
- {
- case 0: /* total size */
- return shape & -0x100;
- case 1: /* associativity */
- return shape & 0xf;
- default: /* line size */
- return 1L << ((shape >> 4) & 0xf);
- }
-}
-
-/* Now the generic Linux version. */
-#undef __sysconf
-#define __sysconf static linux_sysconf
-#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/sysdep.h b/ports/sysdeps/unix/sysv/linux/alpha/sysdep.h
deleted file mode 100644
index 1826093..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/sysdep.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 1992-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _LINUX_ALPHA_SYSDEP_H
-#define _LINUX_ALPHA_SYSDEP_H 1
-
-#ifdef __ASSEMBLER__
-#include <asm/pal.h>
-#include <alpha/regdef.h>
-#endif
-
-/* There is some commonality. */
-#include <sysdeps/unix/alpha/sysdep.h>
-
-#include <tls.h>
-
-/* For Linux we can use the system call table in the header file
- /usr/include/asm/unistd.h
- of the kernel. But these symbols do not follow the SYS_* syntax
- so we have to redefine the `SYS_ify' macro here. */
-#undef SYS_ify
-#define SYS_ify(syscall_name) __NR_##syscall_name
-
-/* Define some aliases to make automatic syscall generation work
- properly. The SYS_* variants are for the benefit of the files in
- sysdeps/unix. */
-#define __NR_getpid __NR_getxpid
-#define __NR_getuid __NR_getxuid
-#define __NR_getgid __NR_getxgid
-#define SYS_getpid __NR_getxpid
-#define SYS_getuid __NR_getxuid
-#define SYS_getgid __NR_getxgid
-
-/*
- * Some syscalls no Linux program should know about:
- */
-#define __NR_osf_sigprocmask 48
-#define __NR_osf_shmat 209
-#define __NR_osf_getsysinfo 256
-#define __NR_osf_setsysinfo 257
-
-/* Help old kernel headers where particular syscalls are not available. */
-#ifndef __NR_semtimedop
-# define __NR_semtimedop 423
-#endif
-
-/* This is a kludge to make syscalls.list find these under the names
- pread and pwrite, since some kernel headers define those names
- and some define the *64 names for the same system calls. */
-#if !defined __NR_pread && defined __NR_pread64
-# define __NR_pread __NR_pread64
-#endif
-#if !defined __NR_pwrite && defined __NR_pwrite64
-# define __NR_pwrite __NR_pwrite64
-#endif
-
-/*
- * In order to get the hidden arguments for rt_sigaction set up
- * properly, we need to call the assembly version. This shouldn't
- * happen except for inside sigaction.c, where we handle this
- * specially. Catch other uses and error.
- */
-
-#undef INLINE_SYSCALL
-#define INLINE_SYSCALL(name, nr, args...) \
-({ \
- extern char ChEcK[__NR_##name == __NR_rt_sigaction ? -1 : 1] \
- __attribute__((unused)); \
- INLINE_SYSCALL1(name, nr, args); \
-})
-
-#undef INTERNAL_SYSCALL
-#define INTERNAL_SYSCALL(name, err_out, nr, args...) \
-({ \
- extern char ChEcK[__NR_##name == __NR_rt_sigaction ? -1 : 1] \
- __attribute__((unused)); \
- INTERNAL_SYSCALL1(name, err_out, nr, args); \
-})
-
-#endif /* _LINUX_ALPHA_SYSDEP_H */
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym b/ports/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
deleted file mode 100644
index f95ff75..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stddef.h>
-#include <sys/ucontext.h>
-
---
-UC_LINK offsetof (ucontext_t, uc_link)
-UC_OSF_SIGMASK offsetof (ucontext_t, __uc_osf_sigmask)
-UC_STACK offsetof (ucontext_t, uc_stack)
-UC_SIGCTX offsetof (ucontext_t, uc_mcontext)
-UC_SIGMASK offsetof (ucontext_t, uc_sigmask)
-SC_REGS offsetof (struct sigcontext, sc_regs)
-SC_FPREGS offsetof (struct sigcontext, sc_fpregs)
-SC_PC offsetof (struct sigcontext, sc_pc)
-SC_PS offsetof (struct sigcontext, sc_ps)
-SC_FPCRS offsetof (struct sigcontext, sc_fpcr)
-SC_MASK offsetof (struct sigcontext, sc_mask)
-SC_FPCR offsetof (struct sigcontext, sc_fpcr)
-SS_SP offsetof (stack_t, ss_sp)
-SS_SIZE offsetof (stack_t, ss_size)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c b/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c
deleted file mode 100644
index 32aefe5..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/wordexp.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c>
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/xstat.c b/ports/sysdeps/unix/sysv/linux/alpha/xstat.c
deleted file mode 100644
index 8497349..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/xstat.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* xstat using old-style Unix stat system call.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __xstat64 __xstat64_disable
-
-#include <errno.h>
-#include <stddef.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-#include <sysdep.h>
-#include <sys/syscall.h>
-#include <xstatconv.h>
-
-#undef __xstat64
-
-
-/* Get information about the file NAME in BUF. */
-int
-__xstat (int vers, const char *name, struct stat *buf)
-{
- INTERNAL_SYSCALL_DECL (err);
- int result;
- struct kernel_stat kbuf;
-
- if (vers == _STAT_VER_KERNEL64)
- {
- result = INTERNAL_SYSCALL (stat64, err, 2, name, buf);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return result;
- __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
- return -1;
- }
-
- result = INTERNAL_SYSCALL (stat, err, 2, name, &kbuf);
- if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
- return __xstat_conv (vers, &kbuf, buf);
- __set_errno (INTERNAL_SYSCALL_ERRNO (result, err));
- return -1;
-}
-hidden_def (__xstat)
-weak_alias (__xstat, _xstat);
-strong_alias (__xstat, __xstat64);
-hidden_ver (__xstat, __xstat64)
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.c b/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.c
deleted file mode 100644
index 55a601e..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Convert between the kernel's `struct stat' format, and libc's.
- Copyright (C) 1997-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <kernel_stat.h>
-#include <xstatconv.h>
-#include <sys/syscall.h>
-
-int
-__xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
-{
- switch (vers)
- {
- case _STAT_VER_KERNEL:
- *(struct kernel_stat *) ubuf = *kbuf;
- break;
-
- case _STAT_VER_GLIBC2:
- {
- struct glibc2_stat *buf = ubuf;
-
- buf->st_dev = kbuf->st_dev;
- buf->st_ino = kbuf->st_ino;
- buf->st_mode = kbuf->st_mode;
- buf->st_nlink = kbuf->st_nlink;
- buf->st_uid = kbuf->st_uid;
- buf->st_gid = kbuf->st_gid;
- buf->st_rdev = kbuf->st_rdev;
- buf->st_size = kbuf->st_size;
- buf->st_atime = kbuf->st_atime;
- buf->st_mtime = kbuf->st_mtime;
- buf->st_ctime = kbuf->st_ctime;
- buf->st_blksize = kbuf->st_blksize;
- buf->st_blocks = kbuf->st_blocks;
- buf->st_flags = kbuf->st_flags;
- buf->st_gen = kbuf->st_gen;
- }
- break;
-
- case _STAT_VER_GLIBC2_1:
- {
- struct glibc21_stat *buf = ubuf;
-
- buf->st_dev = kbuf->st_dev;
- buf->st_ino = kbuf->st_ino;
- buf->st_mode = kbuf->st_mode;
- buf->st_nlink = kbuf->st_nlink;
- buf->st_uid = kbuf->st_uid;
- buf->st_gid = kbuf->st_gid;
- buf->st_rdev = kbuf->st_rdev;
- buf->st_size = kbuf->st_size;
- buf->st_atime = kbuf->st_atime;
- buf->st_mtime = kbuf->st_mtime;
- buf->st_ctime = kbuf->st_ctime;
- buf->st_blocks = kbuf->st_blocks;
- buf->st_blksize = kbuf->st_blksize;
- buf->st_flags = kbuf->st_flags;
- buf->st_gen = kbuf->st_gen;
- buf->__pad3 = 0;
- buf->__glibc_reserved[0] = 0;
- buf->__glibc_reserved[1] = 0;
- buf->__glibc_reserved[2] = 0;
- buf->__glibc_reserved[3] = 0;
- }
- break;
-
- case _STAT_VER_GLIBC2_3_4:
- {
- struct stat64 *buf = ubuf;
-
- buf->st_dev = kbuf->st_dev;
- buf->st_ino = kbuf->st_ino;
- buf->st_rdev = kbuf->st_rdev;
- buf->st_size = kbuf->st_size;
- buf->st_blocks = kbuf->st_blocks;
-
- buf->st_mode = kbuf->st_mode;
- buf->st_uid = kbuf->st_uid;
- buf->st_gid = kbuf->st_gid;
- buf->st_blksize = kbuf->st_blksize;
- buf->st_nlink = kbuf->st_nlink;
- buf->__pad0 = 0;
-
- buf->st_atime = kbuf->st_atime;
- buf->st_atimensec = 0;
- buf->st_mtime = kbuf->st_mtime;
- buf->st_mtimensec = 0;
- buf->st_ctime = kbuf->st_ctime;
- buf->st_ctimensec = 0;
-
- buf->__glibc_reserved[0] = 0;
- buf->__glibc_reserved[1] = 0;
- buf->__glibc_reserved[2] = 0;
- }
- break;
-
- default:
- __set_errno (EINVAL);
- return -1;
- }
-
- return 0;
-}
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.h b/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.h
deleted file mode 100644
index 9b25977..0000000
--- a/ports/sysdeps/unix/sysv/linux/alpha/xstatconv.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Convert between the kernel's `struct stat' format, and libc's.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <kernel-features.h>
-#include <sys/syscall.h>
-
-extern int __xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
- attribute_hidden;