This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/18316] Missed IV optimization
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jul 2005 18:19:07 -0000
- Subject: [Bug tree-optimization/18316] Missed IV optimization
- References: <20041106163946.18316.steven@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-08 18:19 -------
We still have either a ra issue (or ivopts issue which our current ra cannot resolve).
On the tree level we get the following difference.
strength_test2:
<L0>:;
*(data + (int *) ((unsigned int) *pretmp.9 * 4)) = 2;
D.1276 = (int) ivtmp.14;
ivtmp.14 = ivtmp.14 + ivtmp.17;
if (*pretmp.11 > D.1276) goto <L0>; else goto <L1>;
strength_result2:
<L0>:;
*(data + (int *) ((unsigned int) *pretmp.27 * 4)) = 2;
i = (int) ((unsigned int) i + (unsigned int) k);
if (*pretmp.28 > i) goto <L0>; else goto <L1>;
The PPC asm is:
test:
L2:
lwz r0,0(r7)
mr r9,r11
add r11,r11,r8
slwi r0,r0,2
stwx r6,r3,r0
lwz r2,0(r10)
cmpw cr7,r2,r9
bgt+ cr7,L2
result:
L9:
lwz r0,0(r10)
add r9,r9,r8
slwi r0,r0,2
stwx r7,r3,r0
lwz r2,0(r11)
cmpw cr7,r2,r9
bgt+ cr7,L9
Notice the extra mv.
--
What |Removed |Added
----------------------------------------------------------------------------
Keywords|patch |ra
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18316