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

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Target|                            |powerpc*-linux-gnu
   Last reconfirmed|                            |2023-03-17
           Assignee|unassigned at gcc dot gnu.org      |linkw at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED

--- Comment #1 from Kewen Lin <linkw at gcc dot gnu.org> ---
The pair _mm_srli_si128 and _mm_bsrli_si128 doesn't have this issue:

extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__,
__artificial__))
_mm_srli_si128 (__m128i __A, const int __N)
{
  return _mm_bsrli_si128 (__A, __N);
}

And _mm_bsrli_si128 adopts different shifting directions for LE and BE, so I
think the current implementation of _mm_slli_si128 is what we want for
_mm_bslli_si128.

Reply via email to