[Bug tree-optimization/18241] [4.0 Regression] linux kernel loop gets miscompiled

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Nov 1 02:36:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-01 02:36 -------
The corresponding asm for the loop:
with -fno-ivopts:
L11:
	ld r11,8(r10)
	srd r2,r4,r7
	addi r0,r7,-6
	rldicl r2,r2,0,58
	rldicl r7,r0,0,32
	ld r9,0(r11)
	sldi r6,r2,3
	addi r11,r10,24
	stw r2,16(r11)
	addi r8,r9,8
	std r9,24(r10)
	mr r10,r11
	add r0,r8,r6
	std r0,8(r11)
	bdnz L8

without:
L11:
	add r11,r8,r30
	mulli r0,r3,-6  <--- this is really not a good idea inside the loop
	add r10,r5,r8
	addi r3,r3,1
	ld r2,8(r11)
	addi r7,r11,24
	add r0,r0,r12
	ld r9,0(r2)
	srd r0,r4,r0
	rldicl r0,r0,0,58
	addi r6,r9,8
	sldi r11,r0,3
	stdx r9,r8,r5
	stw r0,16(r10)
	addi r8,r8,24
	add r2,r6,r11
	std r2,8(r10

-- 


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



More information about the Gcc-bugs mailing list