> You are right, I was staring at the wrong place. subreg of hardreg > should not be there.
You can take a look at PR target/48830, this is a related problem for the SPARC where reload generates: (set (reg:SI 708 [ D.2989+4 ]) (subreg:SI (reg:DI 72 %f40) 4)) and (subreg:SI (reg:DI 72 %f40) 4) isn't simplifiable either. H.P. wrote a tentative patch for the subreg machinery to forbid this. Other references are: http://gcc.gnu.org/ml/gcc-patches/2008-07/msg01688.html http://gcc.gnu.org/ml/gcc-patches/2008-08/msg01743.html -- Eric Botcazou