public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch, power-ieee128, committed] First stab at the library
@ 2021-12-06 19:08 Thomas Koenig
  0 siblings, 0 replies; only message in thread
From: Thomas Koenig @ 2021-12-06 19:08 UTC (permalink / raw)
  To: fortran, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 16196 bytes --]

Hi,

here is a first stab at the library side of power-ieee128,
committed to the branch.

It compiles, but probably still has a lot of issues.  It
is also not called from the compiler yet.

Regards

	Thomas


     2021-10-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

     Prepare library for REAL(KIND=17).

     This prepares the library side for REAL(KIND=17).  It is
     not yet tested, but at least compiles cleanly on POWER 9
     and x86_64.

     fixincludes/ChangeLog:

             * configure: Regenerate.
             * fixincl.x: Regenerate.    2021-10-19  Thomas Koenig 
<tkoenig@gcc.gnu.org>

     Prepare library for REAL(KIND=17).

     This prepares the library side for REAL(KIND=17).  It is
     not yet tested, but at least compiles cleanly on POWER 9
     and x86_64.

     fixincludes/ChangeLog:

             * configure: Regenerate.
             * fixincl.x: Regenerate.

     intl/ChangeLog:

             * aclocal.m4: Regenerate.
             * configure: Regenerate.

     libatomic/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.
             * testsuite/Makefile.in:

     libcc1/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.

     libdecnumber/ChangeLog:

             * configure: Regenerate.

     libgcc/ChangeLog:

             * configure: Regenerate.

     libgfortran/ChangeLog:

             * Makefile.am: Add _r17 and _c17 files.  Build them
             with -mabi=ieeelongdouble on POWER.
             * Makefile.in: Regenerate.
             * configure: Regenerate.
             * configure.ac: New flag HAVE_REAL_17.
             * kinds-override.h: (HAVE_GFC_REAL_17): New macro.
             (HAVE_GFC_COMPLEX_17): New macro.
             (GFC_REAL_17_HUGE): New macro.
             (GFC_REAL_17_LITERAL_SUFFIX): New macro.
             (GFC_REAL_17_LITERAL): New macro.
             (GFC_REAL_17_DIGITS): New macro.
             (GFC_REAL_17_RADIX): New macro.
             * libgfortran.h (POWER_IEEE128): New macro.
             (gfc_array_r17): Typedef.
             (GFC_DTYPE_REAL_17): New macro.
             (GFC_DTYPE_COMPLEX_17): New macro.
             (__acoshieee128): Prototype.
             (__acosieee128): Prototype.
             (__asinhieee128): Prototype.
             (__asinieee128): Prototype.
             (__atan2ieee128): Prototype.
             (__atanhieee128): Prototype.
             (__atanieee128): Prototype.
             (__coshieee128): Prototype.
             (__cosieee128): Prototype.
             (__erfieee128): Prototype.
             (__expieee128): Prototype.
             (__fabsieee128): Prototype.
             (__jnieee128): Prototype.
             (__log10ieee128): Prototype.
             (__logieee128): Prototype.
             (__powieee128): Prototype.
             (__sinhieee128): Prototype.
             (__sinieee128): Prototype.
             (__sqrtieee128): Prototype.
             (__tanhieee128): Prototype.
             (__tanieee128): Prototype.
             (__ynieee128): Prototype.
             * m4/mtype.m4: Make a bit more readable. Add KIND=17.
             * generated/_abs_c17.F90: New file.
             * generated/_abs_r17.F90: New file.
             * generated/_acos_r17.F90: New file.
             * generated/_acosh_r17.F90: New file.
             * generated/_aimag_c17.F90: New file.
             * generated/_aint_r17.F90: New file.
             * generated/_anint_r17.F90: New file.
             * generated/_asin_r17.F90: New file.
             * generated/_asinh_r17.F90: New file.
             * generated/_atan2_r17.F90: New file.
             * generated/_atan_r17.F90: New file.
             * generated/_atanh_r17.F90: New file.
             * generated/_conjg_c17.F90: New file.
             * generated/_cos_c17.F90: New file.
             * generated/_cos_r17.F90: New file.
             * generated/_cosh_r17.F90: New file.
             * generated/_dim_r17.F90: New file.
             * generated/_exp_c17.F90: New file.
             * generated/_exp_r17.F90: New file.
             * generated/_log10_r17.F90: New file.
             * generated/_log_c17.F90: New file.
             * generated/_log_r17.F90: New file.
             * generated/_mod_r17.F90: New file.
             * generated/_sign_r17.F90: New file.
             * generated/_sin_c17.F90: New file.
             * generated/_sin_r17.F90: New file.
             * generated/_sinh_r17.F90: New file.
             * generated/_sqrt_c17.F90: New file.
             * generated/_sqrt_r17.F90: New file.
             * generated/_tan_r17.F90: New file.
             * generated/_tanh_r17.F90: New file.
             * generated/bessel_r17.c: New file.
             * generated/cshift0_c17.c: New file.
             * generated/cshift0_r17.c: New file.
             * generated/cshift1_16_c17.c: New file.
             * generated/cshift1_16_r17.c: New file.
             * generated/cshift1_4_c17.c: New file.
             * generated/cshift1_4_r17.c: New file.
             * generated/cshift1_8_c17.c: New file.
             * generated/cshift1_8_r17.c: New file.
             * generated/findloc0_c17.c: New file.
             * generated/findloc0_r17.c: New file.
             * generated/findloc1_c17.c: New file.
             * generated/findloc1_r17.c: New file.
             * generated/in_pack_c17.c: New file.
             * generated/in_pack_r17.c: New file.
             * generated/in_unpack_c17.c: New file.
             * generated/in_unpack_r17.c: New file.
             * generated/matmul_c17.c: New file.
             * generated/matmul_r17.c: New file.
             * generated/matmulavx128_c17.c: New file.
             * generated/matmulavx128_r17.c: New file.
             * generated/maxloc0_16_r17.c: New file.
             * generated/maxloc0_4_r17.c: New file.
             * generated/maxloc0_8_r17.c: New file.
             * generated/maxloc1_16_r17.c: New file.
             * generated/maxloc1_4_r17.c: New file.
             * generated/maxloc1_8_r17.c: New file.
             * generated/maxval_r17.c: New file.
             * generated/minloc0_16_r17.c: New file.
             * generated/minloc0_4_r17.c: New file.
             * generated/minloc0_8_r17.c: New file.
             * generated/minloc1_16_r17.c: New file.
             * generated/minloc1_4_r17.c: New file.
             * generated/minloc1_8_r17.c: New file.
             * generated/minval_r17.c: New file.
             * generated/norm2_r17.c: New file.
             * generated/pack_c17.c: New file.
             * generated/pack_r17.c: New file.
             * generated/pow_c17_i16.c: New file.
             * generated/pow_c17_i4.c: New file.
             * generated/pow_c17_i8.c: New file.
             * generated/pow_r17_i16.c: New file.
             * generated/pow_r17_i4.c: New file.
             * generated/pow_r17_i8.c: New file.
             * generated/product_c17.c: New file.
             * generated/product_r17.c: New file.
             * generated/reshape_c17.c: New file.
             * generated/reshape_r17.c: New file.
             * generated/spread_c17.c: New file.
             * generated/spread_r17.c: New file.
             * generated/sum_c17.c: New file.
             * generated/sum_r17.c: New file.
             * generated/unpack_c17.c: New file.
             * generated/unpack_r17.c: New file.

     libiberty/ChangeLog:

             * aclocal.m4: Regenerate.
             * configure: Regenerate.

     libitm/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.
             * testsuite/Makefile.in:

     libquadmath/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.

     libsanitizer/ChangeLog:

             * Makefile.in: Regenerate.
             * asan/Makefile.in: Regenerate.
             * configure: Regenerate. Regenerate.
             * hwasan/Makefile.in: Regenerate.
             * interception/Makefile.in: Regenerate.
             * libbacktrace/Makefile.in: Regenerate.
             * lsan/Makefile.in: Regenerate.
             * sanitizer_common/Makefile.in: Regenerate.
             * tsan/Makefile.in: Regenerate.
             * ubsan/Makefile.in: Regenerate.

     libssp/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate. Regenerate.

     lto-plugin/ChangeLog:

             * Makefile.in: Regenerate.

     zlib/ChangeLog:

             * configure: Regenerate. Regenerate.


     intl/ChangeLog:

             * aclocal.m4: Regenerate.
             * configure: Regenerate.

     libatomic/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.
             * testsuite/Makefile.in:

     libcc1/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.

     libdecnumber/ChangeLog:

             * configure: Regenerate.

     libgcc/ChangeLog:

             * configure: Regenerate.

     libgfortran/ChangeLog:

             * Makefile.am: Add _r17 and _c17 files.  Build them
             with -mabi=ieeelongdouble on POWER.
             * Makefile.in: Regenerate.
             * configure: Regenerate.
             * configure.ac: New flag HAVE_REAL_17.
             * kinds-override.h: (HAVE_GFC_REAL_17): New macro.
             (HAVE_GFC_COMPLEX_17): New macro.
             (GFC_REAL_17_HUGE): New macro.
             (GFC_REAL_17_LITERAL_SUFFIX): New macro.
             (GFC_REAL_17_LITERAL): New macro.
             (GFC_REAL_17_DIGITS): New macro.
             (GFC_REAL_17_RADIX): New macro.
             * libgfortran.h (POWER_IEEE128): New macro.
             (gfc_array_r17): Typedef.
             (GFC_DTYPE_REAL_17): New macro.
             (GFC_DTYPE_COMPLEX_17): New macro.
             (__acoshieee128): Prototype.
             (__acosieee128): Prototype.
             (__asinhieee128): Prototype.
             (__asinieee128): Prototype.
             (__atan2ieee128): Prototype.
             (__atanhieee128): Prototype.
             (__atanieee128): Prototype.
             (__coshieee128): Prototype.
             (__cosieee128): Prototype.
             (__erfieee128): Prototype.
             (__expieee128): Prototype.
             (__fabsieee128): Prototype.
             (__jnieee128): Prototype.
             (__log10ieee128): Prototype.
             (__logieee128): Prototype.
             (__powieee128): Prototype.
             (__sinhieee128): Prototype.
             (__sinieee128): Prototype.
             (__sqrtieee128): Prototype.
             (__tanhieee128): Prototype.
             (__tanieee128): Prototype.
             (__ynieee128): Prototype.
             * m4/mtype.m4: Make a bit more readable. Add KIND=17.
             * generated/_abs_c17.F90: New file.
             * generated/_abs_r17.F90: New file.
             * generated/_acos_r17.F90: New file.
             * generated/_acosh_r17.F90: New file.
             * generated/_aimag_c17.F90: New file.
             * generated/_aint_r17.F90: New file.
             * generated/_anint_r17.F90: New file.
             * generated/_asin_r17.F90: New file.
             * generated/_asinh_r17.F90: New file.
             * generated/_atan2_r17.F90: New file.
             * generated/_atan_r17.F90: New file.
             * generated/_atanh_r17.F90: New file.
             * generated/_conjg_c17.F90: New file.
             * generated/_cos_c17.F90: New file.
             * generated/_cos_r17.F90: New file.
             * generated/_cosh_r17.F90: New file.
             * generated/_dim_r17.F90: New file.
             * generated/_exp_c17.F90: New file.
             * generated/_exp_r17.F90: New file.
             * generated/_log10_r17.F90: New file.
             * generated/_log_c17.F90: New file.
             * generated/_log_r17.F90: New file.
             * generated/_mod_r17.F90: New file.
             * generated/_sign_r17.F90: New file.
             * generated/_sin_c17.F90: New file.
             * generated/_sin_r17.F90: New file.
             * generated/_sinh_r17.F90: New file.
             * generated/_sqrt_c17.F90: New file.
             * generated/_sqrt_r17.F90: New file.
             * generated/_tan_r17.F90: New file.
             * generated/_tanh_r17.F90: New file.
             * generated/bessel_r17.c: New file.
             * generated/cshift0_c17.c: New file.
             * generated/cshift0_r17.c: New file.
             * generated/cshift1_16_c17.c: New file.
             * generated/cshift1_16_r17.c: New file.
             * generated/cshift1_4_c17.c: New file.
             * generated/cshift1_4_r17.c: New file.
             * generated/cshift1_8_c17.c: New file.
             * generated/cshift1_8_r17.c: New file.
             * generated/findloc0_c17.c: New file.
             * generated/findloc0_r17.c: New file.
             * generated/findloc1_c17.c: New file.
             * generated/findloc1_r17.c: New file.
             * generated/in_pack_c17.c: New file.
             * generated/in_pack_r17.c: New file.
             * generated/in_unpack_c17.c: New file.
             * generated/in_unpack_r17.c: New file.
             * generated/matmul_c17.c: New file.
             * generated/matmul_r17.c: New file.
             * generated/matmulavx128_c17.c: New file.
             * generated/matmulavx128_r17.c: New file.
             * generated/maxloc0_16_r17.c: New file.
             * generated/maxloc0_4_r17.c: New file.
             * generated/maxloc0_8_r17.c: New file.
             * generated/maxloc1_16_r17.c: New file.
             * generated/maxloc1_4_r17.c: New file.
             * generated/maxloc1_8_r17.c: New file.
             * generated/maxval_r17.c: New file.
             * generated/minloc0_16_r17.c: New file.
             * generated/minloc0_4_r17.c: New file.
             * generated/minloc0_8_r17.c: New file.
             * generated/minloc1_16_r17.c: New file.
             * generated/minloc1_4_r17.c: New file.
             * generated/minloc1_8_r17.c: New file.
             * generated/minval_r17.c: New file.
             * generated/norm2_r17.c: New file.
             * generated/pack_c17.c: New file.
             * generated/pack_r17.c: New file.
             * generated/pow_c17_i16.c: New file.
             * generated/pow_c17_i4.c: New file.
             * generated/pow_c17_i8.c: New file.
             * generated/pow_r17_i16.c: New file.
             * generated/pow_r17_i4.c: New file.
             * generated/pow_r17_i8.c: New file.
             * generated/product_c17.c: New file.
             * generated/product_r17.c: New file.
             * generated/reshape_c17.c: New file.
             * generated/reshape_r17.c: New file.
             * generated/spread_c17.c: New file.
             * generated/spread_r17.c: New file.
             * generated/sum_c17.c: New file.
             * generated/sum_r17.c: New file.
             * generated/unpack_c17.c: New file.
             * generated/unpack_r17.c: New file.

     libiberty/ChangeLog:

             * aclocal.m4: Regenerate.
             * configure: Regenerate.

     libitm/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.
             * testsuite/Makefile.in:

     libquadmath/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate.

     libsanitizer/ChangeLog:

             * Makefile.in: Regenerate.
             * asan/Makefile.in: Regenerate.
             * configure: Regenerate. Regenerate.
             * hwasan/Makefile.in: Regenerate.
             * interception/Makefile.in: Regenerate.
             * libbacktrace/Makefile.in: Regenerate.
             * lsan/Makefile.in: Regenerate.
             * sanitizer_common/Makefile.in: Regenerate.
             * tsan/Makefile.in: Regenerate.
             * ubsan/Makefile.in: Regenerate.

     libssp/ChangeLog:

             * Makefile.in: Regenerate.
             * configure: Regenerate. Regenerate.

     lto-plugin/ChangeLog:

             * Makefile.in: Regenerate.

     zlib/ChangeLog:

             * configure: Regenerate. Regenerate.

[-- Attachment #2: p1a.diff.gz --]
[-- Type: application/gzip, Size: 70256 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-06 19:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-06 19:08 [patch, power-ieee128, committed] First stab at the library Thomas Koenig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).