http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60851
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- constraint_operands before reload doesn't accept a pseudo for "m" constraint, only during reload: /* Before reload, accept what reload can turn into mem. */ else if (strict < 0 && CONSTANT_P (op)) win = 1; /* During reload, accept a pseudo */ else if (reload_in_progress && REG_P (op) && REGNO (op) >= FIRST_PSEUDO_REGISTER) win = 1; Wonder if it would be ok to change that reload_in_progress to !reload_completed or !strict or something similar, or, if not, whether we shouldn't have some other memory constraint on i?86 or everywhere that would be accept a pseudo for strict < 0 instead of only for reload_in_progress.