------- Comment #6 from ramana dot r at gmail dot com 2009-02-04 08:34 ------- (In reply to comment #5) > (In reply to comment #4) > > > Looking at the dumps this rtx is generated by the rename registers pass in > > 4.3.x . In trunk however rename register does not generate this rtx and > > hence > > there is no problem. It could still be latent but one has to dig deeper. > > A quick comparison of trunk and gcc 4.3 branch shows the following patch being > applied in trunk vs. the 4.3 branch. > > http://gcc.gnu.org/ml/gcc-patches/2008-04/msg01577.html > > A quick check with the patch at > > ram...@numenor:~/cos/mycos/gcc/gcc$ svn diff -r137128:137235 regrename.c > Index: regrename.c > =================================================================== > --- regrename.c (revision 137128) > +++ regrename.c (revision 137235) > @@ -812,7 +812,7 @@ > OP_IN, 0); > > for (i = 0; i < recog_data.n_dups; i++) > - *recog_data.dup_loc[i] = copy_rtx (old_dups[i]); > + *recog_data.dup_loc[i] = old_dups[i]; > for (i = 0; i < n_ops; i++) > *recog_data.operand_loc[i] = old_operands[i]; > if (recog_data.n_dups) >
Related discussions and patch proposed here. http://gcc.gnu.org/ml/gcc/2009-02/msg00074.html This is essentially a backport of a patch in trunk - A full bootstrap and regression test is underway. I've confirmed that this patch fixes the ICE mentioned with the ARM port. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39076