http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60604
--- Comment #4 from Steve Ellcey <sje at gcc dot gnu.org> --- I see what you mean about the bad code and if I change it by hand (copying $2 to $f13 instead of $f12 then the code does work. I am not sure how to fix the register allocator though. I thought maybe REG_WORDS_BIG_ENDIAN would do what I wanted but if I set it to '0', then my build aborts.