diff options
author | Paul E. Murphy <murphyp@linux.vnet.ibm.com> | 2016-08-09 16:48:54 -0500 |
---|---|---|
committer | Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com> | 2017-05-25 16:14:47 -0300 |
commit | 0ded00553f47d1e19bad2df60b4d6ee54eaff1ad (patch) | |
tree | 5625f7b30e20f2e893ef210379e79aed180f1dd8 /sysdeps/unix | |
parent | 6675666a8233b38c726df28d4c61d6e806585215 (diff) | |
download | glibc-tuliom/float128.zip glibc-tuliom/float128.tar.gz glibc-tuliom/float128.tar.bz2 |
powerpc64le: Enable float128tuliom/float128
Add ulps for the float128 type, bits/floatn.h, and float128-abi.h.
Likewise, sqrt is not implemented in libgcc. The sfp-machine.h
header is taken from libgcc, and used to build a P7/P8 soft-fp
sqrtf128.
* sysdeps/powerpc/fpu/libm-test-ulps: Regenerated.
* sysdeps/powerpc/fpu/math_private.h:
(__ieee754_sqrtf128): New inline override.
* sysdeps/powerpc/powerpc64le/Implies-before: New file.
* sysdeps/powerpc/powerpc64le/Makefile: New file.
* sysdeps/powerpc/powerpc64le/bits/floatn.h: New file.
* sysdeps/powerpc/powerpc64le/fpu/e_sqrtf128.c: New file.
* sysdeps/powerpc/powerpc64le/fpu/sfp-machine.h: New file.
* sysdeps/powerpc/powerpc64le/power9/fpu/e_sqrtf128.c: New file.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist:
Regenerated.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h
New file.
Diffstat (limited to 'sysdeps/unix')
3 files changed, 146 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist index c761221..c36bed2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist @@ -2179,9 +2179,16 @@ GLIBC_2.24 GLIBC_2.24 A GLIBC_2.24 quick_exit F GLIBC_2.25 GLIBC_2.25 A GLIBC_2.25 __explicit_bzero_chk F +GLIBC_2.25 __strtof128_internal F +GLIBC_2.25 __wcstof128_internal F GLIBC_2.25 explicit_bzero F GLIBC_2.25 getentropy F GLIBC_2.25 getrandom F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F +GLIBC_2.25 strfromf128 F GLIBC_2.25 strfroml F +GLIBC_2.25 strtof128 F +GLIBC_2.25 strtof128_l F +GLIBC_2.25 wcstof128 F +GLIBC_2.25 wcstof128_l F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist index 9658ded..68fab09 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -416,54 +416,191 @@ GLIBC_2.24 nextup F GLIBC_2.24 nextupf F GLIBC_2.24 nextupl F GLIBC_2.25 GLIBC_2.25 A +GLIBC_2.25 __acosf128_finite F +GLIBC_2.25 __acoshf128_finite F +GLIBC_2.25 __asinf128_finite F +GLIBC_2.25 __atan2f128_finite F +GLIBC_2.25 __atanhf128_finite F +GLIBC_2.25 __coshf128_finite F +GLIBC_2.25 __exp10f128_finite F +GLIBC_2.25 __exp2f128_finite F +GLIBC_2.25 __expf128_finite F GLIBC_2.25 __fe_dfl_mode D 0x8 +GLIBC_2.25 __finitef128 F +GLIBC_2.25 __fmodf128_finite F +GLIBC_2.25 __fpclassifyf128 F +GLIBC_2.25 __gammaf128_r_finite F +GLIBC_2.25 __hypotf128_finite F GLIBC_2.25 __iscanonicall F GLIBC_2.25 __iseqsig F GLIBC_2.25 __iseqsigf F +GLIBC_2.25 __iseqsigf128 F GLIBC_2.25 __iseqsigl F +GLIBC_2.25 __isinff128 F +GLIBC_2.25 __isnanf128 F +GLIBC_2.25 __issignalingf128 F +GLIBC_2.25 __j0f128_finite F +GLIBC_2.25 __j1f128_finite F +GLIBC_2.25 __jnf128_finite F +GLIBC_2.25 __lgammaf128_r_finite F +GLIBC_2.25 __log10f128_finite F +GLIBC_2.25 __log2f128_finite F +GLIBC_2.25 __logf128_finite F +GLIBC_2.25 __powf128_finite F +GLIBC_2.25 __remainderf128_finite F +GLIBC_2.25 __signbitf128 F +GLIBC_2.25 __sinhf128_finite F +GLIBC_2.25 __sqrtf128_finite F +GLIBC_2.25 __y0f128_finite F +GLIBC_2.25 __y1f128_finite F +GLIBC_2.25 __ynf128_finite F +GLIBC_2.25 acosf128 F +GLIBC_2.25 acoshf128 F +GLIBC_2.25 asinf128 F +GLIBC_2.25 asinhf128 F +GLIBC_2.25 atan2f128 F +GLIBC_2.25 atanf128 F +GLIBC_2.25 atanhf128 F +GLIBC_2.25 cabsf128 F +GLIBC_2.25 cacosf128 F +GLIBC_2.25 cacoshf128 F GLIBC_2.25 canonicalize F GLIBC_2.25 canonicalizef F +GLIBC_2.25 canonicalizef128 F GLIBC_2.25 canonicalizel F +GLIBC_2.25 cargf128 F +GLIBC_2.25 casinf128 F +GLIBC_2.25 casinhf128 F +GLIBC_2.25 catanf128 F +GLIBC_2.25 catanhf128 F +GLIBC_2.25 cbrtf128 F +GLIBC_2.25 ccosf128 F +GLIBC_2.25 ccoshf128 F +GLIBC_2.25 ceilf128 F +GLIBC_2.25 cexpf128 F +GLIBC_2.25 cimagf128 F +GLIBC_2.25 clog10f128 F +GLIBC_2.25 clogf128 F +GLIBC_2.25 conjf128 F +GLIBC_2.25 copysignf128 F +GLIBC_2.25 cosf128 F +GLIBC_2.25 coshf128 F +GLIBC_2.25 cpowf128 F +GLIBC_2.25 cprojf128 F +GLIBC_2.25 crealf128 F +GLIBC_2.25 csinf128 F +GLIBC_2.25 csinhf128 F +GLIBC_2.25 csqrtf128 F +GLIBC_2.25 ctanf128 F +GLIBC_2.25 ctanhf128 F +GLIBC_2.25 erfcf128 F +GLIBC_2.25 erff128 F +GLIBC_2.25 exp10f128 F +GLIBC_2.25 exp2f128 F +GLIBC_2.25 expf128 F +GLIBC_2.25 expm1f128 F +GLIBC_2.25 fabsf128 F +GLIBC_2.25 fdimf128 F GLIBC_2.25 fegetmode F GLIBC_2.25 fesetexcept F GLIBC_2.25 fesetmode F GLIBC_2.25 fetestexceptflag F +GLIBC_2.25 floorf128 F +GLIBC_2.25 fmaf128 F +GLIBC_2.25 fmaxf128 F GLIBC_2.25 fmaxmag F GLIBC_2.25 fmaxmagf F +GLIBC_2.25 fmaxmagf128 F GLIBC_2.25 fmaxmagl F +GLIBC_2.25 fminf128 F GLIBC_2.25 fminmag F GLIBC_2.25 fminmagf F +GLIBC_2.25 fminmagf128 F GLIBC_2.25 fminmagl F +GLIBC_2.25 fmodf128 F +GLIBC_2.25 frexpf128 F GLIBC_2.25 fromfp F GLIBC_2.25 fromfpf F +GLIBC_2.25 fromfpf128 F GLIBC_2.25 fromfpl F GLIBC_2.25 fromfpx F GLIBC_2.25 fromfpxf F +GLIBC_2.25 fromfpxf128 F GLIBC_2.25 fromfpxl F GLIBC_2.25 getpayload F GLIBC_2.25 getpayloadf F +GLIBC_2.25 getpayloadf128 F GLIBC_2.25 getpayloadl F +GLIBC_2.25 hypotf128 F +GLIBC_2.25 ilogbf128 F +GLIBC_2.25 j0f128 F +GLIBC_2.25 j1f128 F +GLIBC_2.25 jnf128 F +GLIBC_2.25 ldexpf128 F +GLIBC_2.25 lgammaf128 F +GLIBC_2.25 lgammaf128_r F GLIBC_2.25 llogb F GLIBC_2.25 llogbf F +GLIBC_2.25 llogbf128 F GLIBC_2.25 llogbl F +GLIBC_2.25 llrintf128 F +GLIBC_2.25 llroundf128 F +GLIBC_2.25 log10f128 F +GLIBC_2.25 log1pf128 F +GLIBC_2.25 log2f128 F +GLIBC_2.25 logbf128 F +GLIBC_2.25 logf128 F +GLIBC_2.25 lrintf128 F +GLIBC_2.25 lroundf128 F +GLIBC_2.25 modff128 F +GLIBC_2.25 nanf128 F +GLIBC_2.25 nearbyintf128 F +GLIBC_2.25 nextafterf128 F +GLIBC_2.25 nextdownf128 F +GLIBC_2.25 nextupf128 F +GLIBC_2.25 powf128 F +GLIBC_2.25 remainderf128 F +GLIBC_2.25 remquof128 F +GLIBC_2.25 rintf128 F GLIBC_2.25 roundeven F GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenf128 F GLIBC_2.25 roundevenl F +GLIBC_2.25 roundf128 F +GLIBC_2.25 scalblnf128 F +GLIBC_2.25 scalbnf128 F GLIBC_2.25 setpayload F GLIBC_2.25 setpayloadf F +GLIBC_2.25 setpayloadf128 F GLIBC_2.25 setpayloadl F GLIBC_2.25 setpayloadsig F GLIBC_2.25 setpayloadsigf F +GLIBC_2.25 setpayloadsigf128 F GLIBC_2.25 setpayloadsigl F +GLIBC_2.25 sincosf128 F +GLIBC_2.25 sinf128 F +GLIBC_2.25 sinhf128 F +GLIBC_2.25 sqrtf128 F +GLIBC_2.25 tanf128 F +GLIBC_2.25 tanhf128 F +GLIBC_2.25 tgammaf128 F GLIBC_2.25 totalorder F GLIBC_2.25 totalorderf F +GLIBC_2.25 totalorderf128 F GLIBC_2.25 totalorderl F GLIBC_2.25 totalordermag F GLIBC_2.25 totalordermagf F +GLIBC_2.25 totalordermagf128 F GLIBC_2.25 totalordermagl F +GLIBC_2.25 truncf128 F GLIBC_2.25 ufromfp F GLIBC_2.25 ufromfpf F +GLIBC_2.25 ufromfpf128 F GLIBC_2.25 ufromfpl F GLIBC_2.25 ufromfpx F GLIBC_2.25 ufromfpxf F +GLIBC_2.25 ufromfpxf128 F GLIBC_2.25 ufromfpxl F +GLIBC_2.25 y0f128 F +GLIBC_2.25 y1f128 F +GLIBC_2.25 ynf128 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h new file mode 100644 index 0000000..c47621c --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64le/float128-abi.h @@ -0,0 +1,2 @@ +/* ABI version for _Float128 ABI introduction. */ +#define FLOAT128_VERSION GLIBC_2.25 |