https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95018
--- Comment #27 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> --- (In reply to Jiu Fu Guo from comment #26) > (In reply to Richard Biener from comment #20) > > (In reply to Jiu Fu Guo from comment #18) > > > Currently, I'm thinking to enhance GCC 'cunroll' as: > > > if the loop has multi-exits or upbound is not a fixed number, we may not > > > do > > > 'complete unroll' for the loop, except -funroll-all-loops is specified. > > > > That doens't make much sense (-funroll-all-loops is RTL unroller only). > For the loop which has multi-exits, it may not helpful to unroll it, especially "complete unroll" may be not helpful. Like loop in in_pack_i4.c. Since it would early exit, some iterations(may most iterations) were not executed. Is it a good idea to disable the GIMPLE cunroll for this kind of loop? RTL unroll_stupid does not unroll this kind of loop either.