This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/24626] [4.1/4.2 Regression] internal compiler error: verify_flow_info failed
- From: "dave at hiauly1 dot hia dot nrc dot ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 Jan 2006 00:37:53 -0000
- Subject: [Bug rtl-optimization/24626] [4.1/4.2 Regression] internal compiler error: verify_flow_info failed
- References: <bug-24626-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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 dave.anglin@nrc-cnrc.gc.ca
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