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?