This is the mail archive of the gcc-patches@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]

Re: fix for execute/950511-1 failure on ppc-eabi


> Date: Mon, 11 Sep 2000 16:16:33 -0400 (EDT)
> From: John Wehle <john@feith.com>
> CC: gcc-patches@gcc.gnu.org
> 
> > (set (reg/v:SI 83) (addressof:SI (reg/v:DI 84) 82 0x30037480))
> > 
> > it happens that
> > (reg/v:SI 83)
> > and
> > (addressof:SI (reg/v:DI 84) 82 0x30037480)
> > do conflict.
> 
> I haven't looked closely at this yet, however why isn't this handled by:
> 
>   if (rtx_equal_for_memref_p (x, y))
>     {
>       if (xsize <= 0 || ysize <= 0)
>         return 1;
>       if (c >= 0 && xsize > c)
>         return 1;
>       if (c < 0 && ysize+c > 0)
>         return 1;
>       return 0;
>     }
> 
> which appears earlier in memrefs_conflict_p.

(reg/v:SI 83)
and
(addressof:SI (reg/v:DI 84) 82 0x30037480)
don't qualify as rtx_equal_for_memref_p.

Note that the SET might be conditionally executed.

-- 
- Geoffrey Keating <geoffk@cygnus.com>

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