This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: A reload inheritance bug


Rask Ingemann Lambertsen wrote:
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.

Sorry, I am mistaken in the terminology. Change the bullet point to:


- the last use of reg2 (in B) is inside an input operand.

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]