On Fri, Jul 12, 2019 at 8:11 PM Richard Biener <rguent...@suse.de> wrote: > > On Wed, 10 Jul 2019, Kewen.Lin wrote: > > > Hi all, > > > > I'd like to gentle ping the below patch: > > https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01225.html > > > > The previous version for more context/background: > > https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01126.html > > > > Thanks a lot in advance! > > Again I would have hoped Bin to chime in here. Sorry for missing this one, will get to the patch this week. Sorry again for the inconvenience.
Thanks, bin > > Am I correct that doloop HW implementations are constrainted > by a decrement of one? I see no code in the patch to constrain > things this way. I'm not familiar with the group code at all > but I would have expected the patch to only affect costing > of IVs of the appropriate form (decrement one and possibly > no uses besides the one in the compare/decrement). Since > ivcanon already adds a canonical counter IV it's not > necessary to generate an artificial candidate IV of the > wanted style (that's something I might have expected as well). > > The rest should be just magic from the IVOPTs side? > > There might be the need to only consider at most one counter IV > in the costing code. > > Richard. > > > > > on 2019/6/20 下午8:16, Kewen.Lin wrote: > > > Hi, > > > > > > Sorry, the previous patch is incomplete. > > > New one attached. Sorry for inconvenience. > > > > > > on 2019/6/20 下午8:08, Kewen.Lin wrote: > > >> Hi Segher, > > >> > > >>> On Wed, Jun 19, 2019 at 07:47:34PM +0800, Kewen.Lin wrote: > > >>>> +/* Return true if count register for branch is supported. */ > > >>>> + > > >>>> +static bool > > >>>> +rs6000_have_count_reg_decr_p () > > >>>> +{ > > >>>> + return flag_branch_on_count_reg; > > >>>> +} > > >>> > > >>> rs6000 unconditionally supports these instructions, not just when that > > >>> flag is set. If you need to look at the flag, the *caller* of this new > > >>> hook should, not every implementation of the hook. So just "return > > >>> true" > > >>> here? > > >> > > >> Good point! Updated it as hookpod. > > >> > > >>>> +/* For doloop use, if the algothrim selects some candidate which > > >>>> invalid for > > >>> > > >>> "algorithm", "which is invalid". > > >> > > >>>> + some cost like zero rather than original inifite cost. The point > > >>>> is to > > >>> > > >>> "infinite" > > >>> > > >> > > >> Thanks for catching! I should run spelling check next time. :) > > >> > > >> New version attached with comments addressed. > > >> > > >> > > >> Thanks, > > >> Kewen > > >> > > > > > > -- > Richard Biener <rguent...@suse.de> > SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; > GF: Felix Imendörffer, Mary Higgins, Sri Rasiah; HRB 21284 (AG Nürnberg)