[Bug rtl-optimization/25115] [4.2 Regression] Segmentation fault in pre_insert_copy_insn
kkojima at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Nov 28 13:33:00 GMT 2005
------- Comment #5 from kkojima at gcc dot gnu dot org 2005-11-28 13:33 -------
Argh. I've got the results other way around.
Before patch:
--
.global foo
.type foo, @function
foo:
mov.l r12,@-r15
mov.l r14,@-r15
mov r15,r14
mov.l .L16,r12
mova .L16,r0
add r0,r12
mov.l 1f,r0
stc gbr,r3
mov.l @(r0,r12),r0
bra 2f
add r0,r3
.align 2
1: .long res@GOTTPOFF
2:
mov.l @r3,r2
mov.l @r2,r1
tst r1,r1
bf/s .L2
mov #5,r1
mov.l r1,@r2
.L2:
mov.l .L16,r12
mova .L16,r0
add r0,r12
mov.l @r3,r2
mov.l @(4,r2),r1
tst r1,r1
bf/s .L4
mov #4,r1
mov.l r1,@(4,r2)
.L4:
mov.l .L16,r12
mova .L16,r0
add r0,r12
mov.l @r3,r2
mov.l @(8,r2),r1
tst r1,r1
bf/s .L9
mov #1,r1
mov.l r1,@(8,r2)
.L9:
mov r14,r15
mov.l @r15+,r14
mov.l @r15+,r12
rts
nop
.L17:
.align 2
.L16:
.long _GLOBAL_OFFSET_TABLE_
.size foo, .-foo
.ident "GCC: (GNU) 4.2.0 20051120 (experimental)"
--
and after the patch:
--
.type foo, @function
foo:
mov.l r12,@-r15
mov.l r14,@-r15
mov r15,r14
mov.l .L18,r12
mova .L18,r0
add r0,r12
mov.l 1f,r0
stc gbr,r3
mov.l @(r0,r12),r0
bra 2f
add r0,r3
.align 2
1: .long res@GOTTPOFF
2:
mov.l @r3,r2
mov.l @r2,r1
tst r1,r1
bf/s .L2
mov #5,r1
mov.l r1,@r2
.L2:
mov.l .L18,r12
mova .L18,r0
add r0,r12
mov.l 1f,r0
stc gbr,r7
mov.l @(r0,r12),r0
bra 2f
add r0,r7
.align 2
1: .long res@GOTTPOFF
2:
mov.l .L18,r12
mova .L18,r0
add r0,r12
mov.l @r3,r2
mov.l @(4,r2),r1
tst r1,r1
bf/s .L4
mov #4,r1
mov.l r1,@(4,r2)
.L4:
mov.l .L18,r12
mova .L18,r0
add r0,r12
mov.l @r7,r2
mov.l @(8,r2),r1
tst r1,r1
bf/s .L9
mov #1,r1
mov.l r1,@(8,r2)
.L9:
mov r14,r15
mov.l @r15+,r14
mov.l @r15+,r12
rts
nop
.L19:
.align 2
.L18:
.long _GLOBAL_OFFSET_TABLE_
.size foo, .-foo
.ident "GCC: (GNU) 4.2.0 20051127 (experimental)"
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25115
More information about the Gcc-bugs
mailing list