https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91775

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Oh, the special accounting triggers for candidate 6, not for candidate 3.

Candidate 6:
  Incr POS: orig biv
  IV struct:
    Type:       unsigned int
    Base:       1024
    Step:       4294967295
    Biv:        N
    Overflowness wrto loop niter:       Overflow

there's also

Candidate 5:
  Var befor: ivtmp.8
  Var after: ivtmp.8
  Incr POS: before exit test
  IV struct:
    Type:       unsigned int
    Base:       1024
    Step:       4294967295
    Biv:        N
    Overflowness wrto loop niter:       Overflow

so lots of "same" candidates.

Btw, we miss a candidate based on 4096 which would allow to elide the
multiplication which probably means complex addressing mode.  In the
end we choose

Candidate 11:
  Var befor: ivtmp.12_5
  Var after: ivtmp.12_4
  Incr POS: before exit test
  IV struct:
    Type:       sizetype
    Base:       0
    Step:       4
    Biv:        N
    Overflowness wrto loop niter:       No-overflow

probably also a missed-optimization for the new doloop stuff?

Reply via email to