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

--- Comment #3 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
Since r235809, in df-scan.c:df_insn_refs_collect, there's

3233   if (asm_noperands (PATTERN (insn_info->insn)) >= 0)
3234     for (unsigned i = 0; i < FIRST_PSEUDO_REGISTER; i++)
3235       if (global_regs[i])
3236        {
3237          /* As with calls, asm statements reference all global regs. */
3238          df_ref_record (DF_REF_BASE, collection_rec, regno_reg_rtx[i],
3239                         NULL, bb, insn_info, DF_REF_REG_USE, flags);
3240          df_ref_record (DF_REF_BASE, collection_rec, regno_reg_rtx[i],
3241                         NULL, bb, insn_info, DF_REF_REG_DEF, flags);
3242        }

and indeed global_regs[110] == 1. But sched-deps does not add any dependency
between asms to reflect this, and indeed Haifa scheduler _does_ reorder the two
asms on this testcase.

Reply via email to