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.