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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:a2d66158541c0923620b044098bf66a73b51c463

commit r14-7180-ga2d66158541c0923620b044098bf66a73b51c463
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Fri Jan 12 11:20:40 2024 +0100

    lower-bitint: Fix a typo in a condition [PR113323]

    The following testcase revealed a typo in condition, as the comment
    says the intent is
           /*  If lhs of stmt is large/huge _BitInt SSA_NAME not in m_names
               it means it will be handled in a loop or straight line code
               at the location of its (ultimate) immediate use, so for
               vop checking purposes check these only at the ultimate
               immediate use.  */
    but the condition was using != BITINT_TYPE rather than == BITINT_TYPE,
    so e.g. it used bitint_precision_kind on non-BITINT_TYPEs (e.g. on vector
    types it will crash because TYPE_PRECISION means something different there,
    or on say INTEGER_TYPEs the precision will never be large enough to be >=
    bitint_prec_large).

    The following patch fixes that.

    2024-01-12  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/113323
            * gimple-lower-bitint.cc (bitint_dom_walker::before_dom_children):
Fix
            check for lhs being large/huge _BitInt not in m_names.

            * gcc.dg/bitint-68.c: New test.

Reply via email to