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.
