> I am not implying that this is a GCC bug, unless you think > WORD_REGISTER_OPERATIONS should have avoided the creation of such > paradoxical subreg.
No, that's precisely the contrary, WORD_REGISTER_OPERATIONS tends to create paradoxical subregs. > What I was looking after was for a generic solution on > my backend that either eliminates the use of paradoxical subregs or forces > reload the transform (subreg:m (reg:n K)), where subreg is paradoxical, > into a zero_extend. Why would it do that? That would pessimize for no clear benefit. Either the paradoxical subreg is correct and there is bug in reload or it is wrong and there is a bug in combine. -- Eric Botcazou