https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94889
--- Comment #4 from Gabriel Ravier <gabravier at gmail dot com> --- Investigated it a bit. It looks like with `-mavx2` the pcom pass decides to vectorize the loop, and it then later gets mowed down into a `~`.