diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9e3d7838d25..b94a74bd739 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-05-02 Vladimir Makarov + + * lra-constraints.c (process_alt_operands): Add checking alt + number to choose the best alternative. + 2013-05-02 Richard Biener * tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c index 94f965bd7e9..4e7361155b3 100644 --- a/gcc/lra-constraints.c +++ b/gcc/lra-constraints.c @@ -2197,7 +2197,9 @@ process_alt_operands (int only_alternative) number of reload regs. */ && (reload_nregs < best_reload_nregs || (reload_nregs == best_reload_nregs - && best_reload_sum < reload_sum)))))) + && (best_reload_sum < reload_sum + || (best_reload_sum == reload_sum + && nalt < goal_alt_number)))))))) { for (nop = 0; nop < n_operands; nop++) {