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  <tkoe...@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 <tkoe...@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: p1a.diff.gz
Description: application/gzip

Reply via email to