[Bug rtl-optimization/25791] -O2 execution fails, -O and -g work

ebotcazou at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Jan 18 13:38:00 GMT 2006



------- Comment #13 from ebotcazou at gcc dot gnu dot org  2006-01-18 13:38 -------
> Notice that 'nscan' expects 'scancb' in %l0, but it is ZERO.

Better not trust GDB at -O2 on that one, it is easily fooled.

> It does NOT contain the value in R1 (aka: r1).
> (gdb) x/4bx &r1
> 0x2d6a0c <r1>:  0x00    0x31    0x17    0x80

That value is in %i0.

> Notice the assembly code in NSCAN just before the 'call nscan'
> at NSCAN+80.  r1 never gets loaded into %l0.  Therefore, it is
> NOT passed to 'nscan' properly.

The value is loaded into %o0 before 'call nscan' and end up in %i0 after the
save register window instruction.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25791



More information about the Gcc-bugs mailing list