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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to N Schaeffer from comment #3)
> So I think only zeros and NaNs are possible to optimize to memset anyway
> (and some other very special cases, that is probably not worth considering
> anyway).

No, all values which in their representation have the same bytes repeated
through the whole size, e.g. double 0x1.010101010101p-766, 32.502 and many
others.  Note, it doesn't have to be all floating point etc. if aliasing let's
it through for whatever reason.  I guess if we have write-after-write
dependency, whether in the  tree-loop-distribution or perhaps the vectorizer
too, look if all those writes don't have constant sources that have
representation of one repeated byte all over and whether both stores in the
dependency write the same bytes, ignore the write-after-write dependency.

Reply via email to