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]

Re: The current egcs is broken on x86


> 
> >>>>> "Jim" == Jim Wilson <wilson@cygnus.com> writes:
> 
>     Jim> My patched rebuild failed in stage2 while running the stage2
>     Jim> compiler to build the SYSCALLS.c file.  I suspect another bug
>     Jim> in the recent regmove changes.
> 
> I can confirm this on x86.  I was able to bootstrap only by completely
> removing the regmove change, not simply by applying your patch.
> 

regmove.c itself may have bugs. In my test case, there is

(insn 50 48 52 (set (reg:SI 30)
        (minus:SI (reg/v:SI 22)
            (reg:SI 29))) 154 {subsi3+1} (insn_list 48 (nil))
    (nil))

which is turned into

(insn 50 48 52 (set (reg:SI 30)
        (minus:SI (reg:SI 30)
            (reg:SI 29))) 154 {subsi3+1} (insn_list 48 (nil))
    (nil))

It is completely wrong. It seems that regmove.c only handles PLUS, not
MINUS. Is that the case?


H.J.


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