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

Richard Biener <rguenth at gcc dot gnu.org> changed:

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

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
    7: r82:SI=~r89:SI
      REG_DEAD r89:SI
    8: r88:V4SI=vec_duplicate(r82:SI)
      REG_DEAD r82:SI
    9: r87:V4SI=r88:V4SI&r90:V4SI
      REG_DEAD r90:V4SI
      REG_DEAD r88:V4SI

I suppose we're confused about the vec_duplicate.  Would generally swapping
the duplicate and the bit_not be profitable?  Eventually it's a simplification
combine could try - I belive it has some cases where it tries variants of the
original instructions when combining.  Adding a combine helper pattern
looks like putting too much burden on the backend IMHO.

We don't have a generic nand optab so handling this in ISEL on gimple
isn't straight-forward.

But combine and/or forwprop could do this.

Reply via email to