GCC-H8300: major problems with -mint32

Toshi Morita tm2@best.com
Wed Mar 28 14:15:00 GMT 2001


version: CVS
   host: i686-linux
 target: h8300-coff

It looks like gcc has some serious problems generating code for the
H8/300 series when -mint32 is used. Here's a few samples from
engine_c.i compiled at -O2 -mint32 -S:

_breakpoints:
        push    r6
        mov.w   r7,r6
        mov.w   #8,r3
        sub.w   r3,sp
        push    r4
        push    r5
        mov.w   r0,@(-4,r6)
        mov.w   r1,@(-2,r6)
        mov.w   @_g_num_breakpoints,r4
        mov.w   @_g_num_breakpoints+2,r5
        sub.w   r2,r2			<- ???
        sub.w   r3,r3			<- ???
        mov.w   r2,@(-8,r6)
        mov.w   r3,@(-6,r6)
        mov.w   r4,r4			<- ???
        bgt     .L15
        bne     .L13
        mov.w   r5,r5			<- ???
        beq     .L13

This just doesn't look right...

engine_c.i is in stress-1.17.tar.gz in the usual place:

ftp://shell14.ba.best.com/pub.t/tm2/stress-1.17.tar.gz

Toshi




More information about the Gcc-bugs mailing list