https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96983

--- Comment #40 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Michael Meissner
<meiss...@gcc.gnu.org>:

https://gcc.gnu.org/g:9baf563a176c4ea5a2a1606397ac09e16776d1ae

commit r11-9665-g9baf563a176c4ea5a2a1606397ac09e16776d1ae
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Wed Mar 16 21:58:54 2022 -0400

    Backport PR fortran/96983 patch to GCC 11.

    I applied a patch on the trunk in April 22nd, 2021 that fixes an issue (PR
    fortran/66983) where we could fail for 128-bit floating point types
    because we don't have a built-in function that is equivalent to llround
    for 128-bit integer types.  Instead, the patch does a round operation
    followed by conversion to the appropriate integer size if we don't have
    the specialized round to specific integer type built-in functions.

    When I checked in the change, I was told to wait until after GCC 11.1
    shipped before doing the backport.  I forgot about the change until
    recently.  Before checking it in, I did bootstraps and ran regression
    tests on:

        1)  little endian power9 using 128-bit IBM long double
        2)  little endian power9 using 128-bit IEEE long double
        3)  big endian power8 (both 64-bit and 32-bit) (and)
        4)  x86_64 native build

    There were no new regressions.  The test gfortran.dg/pr96711.f90 now
    passes on PowerPC.

    In the 10 months or so since the change was made on the trunk, the code in
    build_round_expr did not change.

    2022-03-16   Michael Meissner  <meiss...@linux.ibm.com>

    gcc/fortran/
            PR fortran/96983
            * trans-intrinsic.c (build_round_expr): If int type is larger than
            long long, do the round and convert to the integer type.  Do not
            try to find a floating point type the exact size of the integer
            type.  Backport patch from 2021-04-22 on the trunk.
  • [Bug fortran/96983] [11/12 regr... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to