------- Comment #50 from dave at hiauly1 dot hia dot nrc dot ca  2006-01-15 
00:37 -------
Subject: Re:  [4.1/4.2 Regression] internal compiler error: verify_flow_info
failed

> There's an easy check: is the code semantically equivalent to some other
> compiler you trust (e.g. older gcc, hp system compiler, anything)...

I've enclosed the assembly code generated by gcc version 3.3.6
(Debian 1:3.3.6-10).  Although it's not as nicely optimized, it looks
correct to me.  The 3.4 code also looks ok.  However, the 4.0.3 is
wrong.

Dave
-- 
J. David Anglin                                  [EMAIL PROTECTED]
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

        .LEVEL 1.1
        .text
        .align 4
        .type   F2, @function
F2:
        .PROC
        .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=4
        .ENTRY
        stw %r2,-20(%r30)
        stwm %r4,64(%r30)
        stw %r3,-60(%r30)
        copy %r4,%r26
        copy %r24,%r22
        .CALL   ARGW0=GR
        bl $$dyncall,%r31
        copy %r31,%r2
        comib,<> 0,%r28,.L3
        copy %r28,%r3
        bl T,%r2
        copy %r4,%r26
        ldi 0,%r28
.L1:
        ldw -84(%r30),%r2
        ldw -60(%r30),%r3
        bv %r0(%r2)
        ldwm -64(%r30),%r4
.L3:
.L4:
        bl T,%r2
        copy %r4,%r26
        b .L1
        copy %r3,%r28
        .EXIT
        .PROCEND
        .size   F2, .-F2
        .align 4
.globl F1
        .type   F1, @function
F1:
        .PROC
        .CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3
        .ENTRY
        stw %r2,-20(%r30)
        stwm %r4,64(%r30)
        bl F3,%r2
        copy %r26,%r4
        ldw -84(%r30),%r2
        copy %r28,%r25
        copy %r4,%r26
        ldi 0,%r24
        bl F2,%r0
        ldwm -64(%r30),%r4
        nop
        .EXIT
        .PROCEND
        .size   F1, .-F1
        .ident  "GCC: (GNU) 3.3.6 (Debian 1:3.3.6-10)"


-- 


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

Reply via email to