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: m68k bootstrapping broken


On Sun, Jan 11, 2004 at 07:32:54AM +0100, Bernardo Innocenti wrote:
> Richard Henderson wrote:
> >On Sat, Jan 10, 2004 at 10:08:54PM +0100, Bernardo Innocenti wrote:
> >
> >>>	lea (8,%a6),%a0      !!!!!!!!
> >>>	move.l (%a0),%d0
> >>
> >>...
> >>I believe this is how GCC has always worked.  Unless you specify
> >>-fomit-frame-pointer...
> >
> >No, he means why not
> >
> >	move.l (8,%a6),%d0
> >
> >and dispense with the lea entirely.
> 
> Yeah, it really sucks... but:
> 
> - A sub-optimal instruction sequence can't be responsable for
>   the m68k-linux bootstrap failure in "make compare".

that is of course correct, it was simply the first anomaly
in the rtl dumps that I have noticed so I am trying to see
where it comes from.

Just to recap: this anomaly occurs only when the compilation
is done on native m68k and appears to be stable between the last
month snapshots. Crosscompilation produces the expected code.
Turning optimization off when producing the native cc1 fixes
the problem. I am currently looking which module breaks
when optimised - none of the obvious candidates so it is
search by bruteforce now.

> Just an idea: m68k is the only cc0 target capable of an
> hosted bootstrap.  Is it possible that middle-end changes
> have subtly broken cc0 targets without anyone noticing
> except on the m68k?

what is cc0?

Richard


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