http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56077
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org --- Comment #8 from Alexander Monakov <amonakov at gcc dot gnu.org> 2013-02-04 17:25:05 UTC --- The difference in behaviour is due to this change in sched_analyze_insn, inside "if (reg_pending_barrier)": + /* Flush pending lists on jumps, but not on speculative checks. */ + if (JUMP_P (insn) && !(sel_sched_p () + && sel_insn_is_speculation_check (insn))) flush_pending_lists (deps, insn, true, true); The "JUMP_P (insn) && " part in the condition seems to be an unintended change.