H.J. Lu wrote: > Given input: > > (plus:SI (subreg:SI (plus:DI (reg/f:DI 7 sp) > (const_int 16 [0x10])) 0) > (const_int -1 [0xffffffffffffffff]))
Once again, this seems weird as legitimate address ... If this really can occur validly, there'll probably need to be an insn+splitter and/or a secondard reload provided by the back-end to handle it. > reloads tries to add > > (subreg:SI (plus:DI (reg/f:DI 7 sp) > (const_int 16 [0x10])) 0) > > to > > (reg:SI 1 dx) And what happens then? If the only problem is that this is then rejected by the back-end, I don't think we need to change anything in gen_reload ... With your change below, it seems you're just falling through to the generic gen_rtx_SET case, right? How does this help? Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com