http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54699
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-09-25 11:56:53
UTC ---
(In reply to comment #0)
Thanks for tracing this.
The mem store insn
(set (subreg:SF (mem/c:DI (reg/f:SI 14 r14)) 4)
(reg:SF 0 r0))
looks valid. The "movsf_ie" pattern has alternatives for this combination.
However, the address in SFmode will not make it through
sh_legitimate_address_p.
Legitimating the tuple (address, mode) without knowing the other operand and
whether it's a load or store is frustrating on SH.
I will try to see what's happening there.