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

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Kewen Lin <li...@gcc.gnu.org>:

https://gcc.gnu.org/g:43c8cb0e003996b3a7a9f98923f602561f3f0ec7

commit r12-10393-g43c8cb0e003996b3a7a9f98923f602561f3f0ec7
Author: Kewen Lin <li...@linux.ibm.com>
Date:   Mon Apr 8 21:01:36 2024 -0500

    rs6000: Fix wrong align passed to build_aligned_type [PR88309]

    As the comments in PR88309 show, there are two oversights
    in rs6000_gimple_fold_builtin that pass align in bytes to
    build_aligned_type but which actually requires align in
    bits, it causes unexpected ICE or hanging in function
    is_miss_rate_acceptable due to zero align_unit value.

    This patch is to fix them by converting bytes to bits, add
    an assertion on positive align_unit value and notes function
    build_aligned_type requires align measured in bits in its
    function comment.

            PR target/88309

    Co-authored-by: Andrew Pinski <quic_apin...@quicinc.com>

    gcc/ChangeLog:

            * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Fix
            wrong align passed to function build_aligned_type.
            * tree-ssa-loop-prefetch.cc (is_miss_rate_acceptable): Add an
            assertion to ensure align_unit should be positive.
            * tree.cc (build_qualified_type): Update function comments.

    gcc/testsuite/ChangeLog:

            * gcc.target/powerpc/pr88309.c: New test.

Reply via email to