------- Additional Comments From andrewhutchinson at cox dot net 2005-01-28 20:15 ------- Subject: Re: Loop optimizer fails to reverse simple loop
GCC 3.3.1 did reverse testloop3 but not testloop2() or testloop(4). So 4.0 gets 4/5 right an 3.3.1 3/5 right. Its complicated by other optimisations though on my inner loop code so I could not say if testloop3 is a regression. Im trying to get some results from 3.4.x The only issue with inconsistent patterns is that it makes matching backend patterns more likely to fail. As we need to catch GE 0 or EQ -1 after decrement for almost identical code structure. I am not sure if this is a real probelm or one that gcc will take care of by alternate patter substitutions. pinskia at gcc dot gnu dot org wrote: >------- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-28 >19:54 ------- >Confirmed, we should be able to do this on the tree level but don't for >testloop2, testloop3, testloop4. > >To answer this question: >* - why is gcc inconsistent in loop reversal bounds???? >Because sometimes we do loop reversal on the tree level or the rtl level. See >above about where we >don't do it on the tree level. > >Do you know if all of these loops were loop reversal for say 3.4.0? > > > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19676