------- Comment #13 from pinskia at gcc dot gnu dot org 2009-04-28 22:50 ------- (In reply to comment #12) > Maybe there's some significant difference between the behaviour of > mips16_gp_pseudo_reg() and require_pic_register() which causes this, or maybe > MIPS is broken too?
Hmm, ARM uses emit_insn_after (seq, entry_of_function ()); while mips uses push_topmost_sequence/pop_topmost_sequence. Maybe this is more broken and was broken with SSA to RTL patch after all. The darwin back-end delays emitting of the branch for the PIC register until the prologue. Maybe both mips and ARM back-end should do the same thing. Actually the arm back-end already does most of them. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39929