This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Scheduler moves load in front of store on powerpc-linux, 3.0 and mainline
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Scheduler moves load in front of store on powerpc-linux, 3.0 and mainline
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Wed, 11 Apr 2001 02:17:46 +0200
Hi,
the attached testcase breaks KDE2 on powerpc-linux-gnu and I consider it
probably the last gcc-3.0 showstopper bug I know of.
If compiled with -O2 -fPIC I get this assembler fragment in
_ZN11NETRootInfo13setClientListEPmj/NETRootInfo::setClientList(unsigned
long*, unsigned):
.L14:
mr 4,29
mr 3,28
lwz 29,4(31)
bl _Z7nwindupPmi@local
lwz 11,4(31)
mr 0,3
lwz 9,.LC0-(.LCTOC1)(30)
li 8,0
lwz 10,88(11)
li 6,33
lwz 5,0(9)
li 7,32
lwz 3,0(11)
lwz 4,12(11)
lwz 9,56(11) < load
stw 0,56(29) < store
bl XChangeProperty@plt
b .L12
If I add -fno-schedule-insns all is OK again:
.L14:
mr 4,28
mr 3,27
lwz 29,4(31)
bl _Z7nwindupPmi@local
li 8,0
lwz 11,4(31)
li 6,33
lwz 9,.LC0-(.LCTOC1)(30)
li 7,32
stw 3,56(29) < store
lwz 5,0(9)
lwz 3,0(11)
lwz 4,12(11)
lwz 9,56(11) < load
lwz 10,88(11)
bl XChangeProperty@plt
b .L12
Franz.
test-netwm.ii.gz