[Bug tree-optimization/117875] [15 Regression] 28% regression for 456.hmmer on Zen4 with -Ofast -march=native
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 5 08:19:09 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117875
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #7)
> I'm talking about the number of iterations of the second loop (after loop
> splitting), the niter expression is (unsigned int) M_9(D) - (unsigned int)
> k_24.
> We know k_29 == M_9(D) when exiting the first loop, so on that entry the
> expression computes zero. For the case the first loop is short-cut we know
> M_9(D) == 1 and thus the difference is zero as well.
>
> So I expect the range of (unsigned int) M_9(D) - (unsigned int) k_2 to be
> [0,0].
>
> But maybe I'm missing something?
I guess the issue is that with
# k_24 = PHI <1(13), k_29(16)>
to easily see this we'd have to compute the range of
(unsigned int) M_9(D) - 1 and the range of (unsigned int) M_9(D) - (unsigned)
k_29 and then see those are the same singleton. I don't think we can
arrive here when using the range of k_24 itself, so maybe I'm asking too
much of VRP here.
More information about the Gcc-bugs
mailing list