Scheduler moves load in front of store on powerpc-linux, 3.0 and mainline
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Tue Apr 10 17:16:00 GMT 2001
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-netwm.ii.gz
Type: application/x-gzip
Size: 24322 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-bugs/attachments/20010410/46ce39d1/attachment.bin>
More information about the Gcc-bugs
mailing list