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

Reply via email to