On Tue, May 15, 2007 at 09:31:10AM +0100, Mark Shinwell wrote:
> Rask Ingemann Lambertsen wrote:
> >On Mon, May 14, 2007 at 10:47:13PM +0100, Mark Shinwell wrote:
> >
> >[snip]
> >>    - the last use of reg2 (in B) is inside a matched input operand;
> >[snip]
> >>The reload used for the instruction at B looks like this:
[snip]
> >>        GENERAL_REGS, RELOAD_FOR_INPUT (opnum = 1), inc by 8
[snip]
> >   I could be missing something here, but aren't matched operands given a
> >reload type of RELOAD_OTHER rather than RELOAD_FOR_INPUT?
> 
> I might be tripping up on the terminology here then.  The original
> instruction is:
> 
> (insn:HI 5291 5282 5295 2 (set (reg:DF 4078 [ Jd+1040 ])
>         (mem/s:DF (plus:SI (reg/f:SI 3275)
>                 (reg:SI 3812)) [30 Jd+1040 S8 A64])) 578 {*movdf_vfp} (nil)
>     (expr_list:REG_DEAD (reg/f:SI 3275)
>         (expr_list:REG_DEAD (reg:SI 3812)
>             (nil))))

   Where is the matched input operand you're referring to? I don't see any
in the *movdf_vfp pattern.

> >   Also, which register is the "inc by 8" note for? R9 or sl?
> 
> I thought the value of "inc" wasn't relevant here since we aren't
> dealing with an autoincrement instruction (see the comment in
> reload.h:struct reload).

   True, there's a bug in the pretty-printer. Quoting reload1.c:

      /* AUTO_INC reloads need to be handled even if inherited.  We got an
         AUTO_INC reload if reload_out is set but reload_out_reg isn't.  */

-- 
Rask Ingemann Lambertsen
756 unexpected failures, and counting...

Reply via email to