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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |10.0
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Been fixed since GCC 10.
shuffle1(float vector[4]):
        shufps  xmm0, xmm0, 177
        ret
shuffle2(float vector[4] const&):
        movaps  xmm0, XMMWORD PTR [rdi]
        shufps  xmm0, xmm0, 177
        ret
shuffle3(float vector[4] const&):
        movaps  xmm0, XMMWORD PTR [rdi]
        shufps  xmm0, xmm0, 177
        ret
foo::shuffle2() const:
        movaps  xmm0, XMMWORD PTR [rdi]
        shufps  xmm0, xmm0, 177
        ret
foo::shuffle3() const:
        movaps  xmm0, XMMWORD PTR [rdi]
        shufps  xmm0, xmm0, 177
        ret


SLP is able to handle it.

Reply via email to