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: Endless loop during bootstrap?


Eric Christopher <echristo@redhat.com> writes:

> >   -o crtbegin.o
> 
> This file definitely shouldn't take very long.
> 
> > 
> > Any ideas what needs to be fixed?
> 
> Not offhand, but if you file a bug in bugzilla (gcc.gnu.org/bugzilla)
> I'm sure the sparc maintainer would want to look at it.
> 
> -eric
> 
> -- 
> Eric Christopher <echristo@redhat.com>

 Alright. I'll dig out my bugzilla account and file a bug.  Anyway,
It seems that the following code:

.LL1136:
        .loc 1 1460 0
        sra     %i1, 31, %o3
.LLVL507:
        srl     %i1, 29, %g4
.LLVL508:
        sll     %o3, 3, %g1
        sll     %i1, 3, %o5
        addcc   %o5, %i1, %o5
        or      %g4, %g1, %o4
        addx    %o4, %o3, %o4
        srl     %o5, 28, %g4
        sll     %o4, 4, %g1
        sll     %o5, 4, %g3
        or      %g4, %g1, %g2
        addcc   %o5, %g3, %o5
        addx    %o4, %g2, %o4
        srl     %o5, 24, %g4
        sll     %o4, 8, %g1
        sll     %o5, 8, %g3
        or      %g4, %g1, %g2
        addcc   %o5, %g3, %o5
        addx    %o4, %g2, %o4
        srl     %o5, 16, %g4
        sll     %o4, 16, %g1
        sll     %o5, 16, %g3
        addcc   %o5, %g3, %o5
        or      %g4, %g1, %g2
        addx    %o4, %g2, %o4
        subcc   %g0, %o5, %o5
        subx    %g0, %o4, %o4
        sra     %o4, 2, %o4
.LLVL509:
        .loc 1 1459 0
        subcc   %o4, %o3, %i1
.LLVL510:
        bne     .LL1136
        add     %l0, 1, %l0
.LL1108:
 
 is supposed to divide by 10.  However, when the input is 1 the result is
-1.  Similarily when the input is -1 the result is 1.  Thus the endless
loop.

Jim


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