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

--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Uros Bizjak <[email protected]>:

https://gcc.gnu.org/g:5201fa5599c08924cf10b299b0ba2547c99f27e0

commit r17-6002-g5201fa5599c08924cf10b299b0ba2547c99f27e0
Author: Uros Bizjak <[email protected]>
Date:   Thu Nov 5 10:35:42 2026 +0100

    i386: Don't convert STV chains fed by asm goto outputs [PR125932]

    An asm goto with outputs defines them on all outgoing edges, but
    scalar_chain::emit_conversion_insns only handles control-flow defs
    with a single fallthru edge.  The copy into the chain register ended
    up on the fallthru edge only, giving wrong code, or a broken CFG
    when the label is the fallthru block.  Abort chain analysis when a
    non-convertible def is a jump insn.

    Assisted-by: Claude Sonnet 5.5

            PR target/125932

    gcc/ChangeLog:

            * config/i386/i386-features.cc
            (scalar_chain::analyze_register_chain): Abort the chain
            when a non-convertible def is a jump insn.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr125932-1.c: New test.
            * gcc.target/i386/pr125932-2.c: Ditto.

Reply via email to