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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |11.4.0, 12.3.0, 13.2.1,
                   |                            |14.0
   Target Milestone|---                         |11.5
           Keywords|                            |wrong-code
            Summary|Wrong vectorization of      |[11/12/13/14 Regression]
                   |permuted mask load          |Wrong vectorization of
                   |                            |permuted mask load
      Known to work|                            |10.5.0
                 CC|                            |rsandifo at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think it's most sensible to reject permuted mask (and also gather) SLP loads
for now, code generation definitely doesn't handle it right now.

A first step of support might be computing the load-permutation and hope
SLP permute optimization will make it identity and only reject it later.
SLP permute optimization migh also be able to push the permute to the mask
and re-materialize it after the masked load as well.

I'll note we don't handle SLP masked loads with gaps either.

I'll see to produce the fix on the SLP discovery side (rejecting it there).

Richard - any other thoughts on this?

It seems GCC 10 is fine, but it can already do SLP of masked loads so I'm
not really sure.  Guess the testcase is not good enough there.

Reply via email to