https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98856
--- Comment #30 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Richard Biener from comment #29) > I suppose the reason is that there's two unrelated insns between the > xmm0 = cx:DI and the vec_concat. Which would hint that we somehow > need to not match this GPR->XMM move in the peephole pattern but > instead somehow in the condition (can we use DF there?) peephole2 are run in a pass that does: df_set_flags (DF_LR_RUN_DCE); df_note_add_problem (); df_analyze (); so, DF that uses the note or default problems is ok, but e.g. DF_UD_CHAIN/DF_DU_CHAIN is not available. But it can e.g. walk some number of previous instructions (with some reasonably small upper bound) etc.