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

--- Comment #3 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:4a46a48ebc7b7b3976af49f6f8dabd65c6ddf64b

commit r14-9641-g4a46a48ebc7b7b3976af49f6f8dabd65c6ddf64b
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Sat Mar 23 11:20:00 2024 +0100

    bitint: Fix bitfield loads in handle_cast [PR114433]

    We ICE on the following testcase, because handle_cast was incorrectly
    testing !m_first to see whether it should use m_data[m_bitfld_load + 1]
    or fresh SSA_NAME for a PHI result.
    Now, m_first is in the routine sometimes temporarily cleared in between
    doing prepare_data_in_out and the !m_first check and only before returning
    restored from the save_first copy.
    Without this patch, we try to use the same SSA_NAME (_12 here) in 2
    different PHI results which is obviously invalid IL and ICEs very quickly.

    2024-03-23  Jakub Jelinek  <ja...@redhat.com>

            PR tree-optimization/114433
            * gimple-lower-bitint.cc (bitint_large_huge::handle_cast): For
            m_bitfld_load check save_first rather than m_first.

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

Reply via email to