This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32921] [4.3 Regression] Revision 126326 causes 12% slowdown
- From: "pthaugen at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Oct 2007 16:18:54 -0000
- Subject: [Bug tree-optimization/32921] [4.3 Regression] Revision 126326 causes 12% slowdown
- References: <bug-32921-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #12 from pthaugen at gcc dot gnu dot org 2007-10-17 16:18 -------
And now some comments to go with the prior attatchment...
This checkin is causing a 75% degradation on leslie3d for PowerPC. As HJ
observed earlier, it depends on a second function accessing some of the global
data.
Generated code for simple copy loop in EXTRAPI(), compiled with -O2.
revision 126325:
.p2align 4,,15
.L3:
lfd 0,0(11) #* ivtmp.71, tmp198
add 11,11,6 # ivtmp.71, ivtmp.71, ivtmp.77
stfd 0,0(9) #* ivtmp.76, tmp198
add 9,9,5 # ivtmp.76, ivtmp.76, ivtmp.73
bdnz .L3 #
revision 126326:
.p2align 4,,15
.L6:
lwz 10,12(27) # <variable>.stride, prephitmp.66
lwz 3,12(28) # <variable>.stride, prephitmp.56
.L3:
mullw 10,10,12 # tmp141, prephitmp.66, i
lwz 9,36(30) # <variable>.stride, <variable>.stride
lwz 0,36(31) # <variable>.stride, <variable>.stride
lwz 8,4(30) # uav.offset, uav.offset
lwz 11,4(31) # qav.offset, qav.offset
lwz 6,24(30) # <variable>.stride, <variable>.stride
lwz 7,24(31) # <variable>.stride, <variable>.stride
lwz 4,0(30) # uav.data, uav.data
lwz 5,0(31) # qav.data, qav.data
mullw 3,3,12 # tmp160, prephitmp.56, i
slwi 9,9,1 # tmp142, <variable>.stride,
slwi 0,0,1 # tmp161, <variable>.stride,
add 9,9,8 # tmp143, tmp142, uav.offset
add 0,0,11 # tmp162, tmp161, qav.offset
add 9,9,6 # tmp145, tmp143, <variable>.stride
add 0,0,7 # tmp164, tmp162, <variable>.stride
add 9,9,10 # tmp147, tmp145, tmp141
add 0,0,3 # tmp166, tmp164, tmp160
slwi 9,9,3 # tmp148, tmp147,
slwi 0,0,3 # tmp167, tmp166,
addi 12,12,1 # i, i,
lfdx 0,5,0 #* qav.data, tmp169
cmpw 7,12,29 # imax.3, tmp170, i
stfdx 0,9,4 #* uav.data, tmp169
bne 7,.L6 #
--
pthaugen at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pthaugen at gcc dot gnu dot
| |org, bergner at gcc dot gnu
| |dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32921