On Tue, Apr 06, 2010 at 11:55:01AM -0700, Ian Lance Taylor wrote: > Nathan Froyd <froy...@codesourcery.com> writes: > > Compiling anything that uses doubles on powerpc e500v2 produces awful > > code due in part to lower-subregs (the register allocator doesn't help, > > either, but that's a different story). > > I doubt that a target hook is required to avoid this. Perhaps > simple_move_operand should reject a mode changing subreg when the two > modes are !MODE_TIEABLE_P.
Ah, thanks for the pointer. I'll try poking at that. > This code is sort of weird, though; why the conversion from DImode to > DFmode? Welcome to the wonderful world of e500, which has floating-point instructions operating on the general purpose registers. -Nathan