The following patch fixes a few SPARC GCC testsuite regressions.
The patch was successfully bootstrapped on x86/x86-64. Committed as rev. 184512. 2012-02-23 Vladimir Makarov <vmaka...@redhat.com> * lra-eliminations.c (update_reg_eliminate): Make hard register unallocatable when we make it a result of the elimination.
Index: lra-eliminations.c =================================================================== --- lra-eliminations.c (revision 184177) +++ lra-eliminations.c (working copy) @@ -1103,6 +1103,9 @@ update_reg_eliminate (bitmap insns_with_ if (lra_dump_file != NULL) fprintf (lra_dump_file, " Using elimination %d to %d now\n", ep1->from, ep1->to); + /* Prevent the hard register into which we eliminate now + from the usage for pseudos. */ + SET_HARD_REG_BIT (temp_hard_reg_set, ep1->to); gcc_assert (ep1->previous_offset == 0); ep1->previous_offset = ep->offset; }