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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |linkw at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |linkw at gcc dot gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2023-03-16

--- Comment #4 from Kewen Lin <linkw at gcc dot gnu.org> ---
Confirmed, as PVIPR for:
   r = vec_sld (a, b, c)
c must be in the range 0–15.

I noticed that for:

__m128i test_r(__m128i vec )
{
    return _mm_bsrli_si128 ( vec, -1);
}

icc would optimize it to vzero while gcc would emit error msg.

IMHO we should guard the N with __N < 16 && __N >= 0 and return vzeros for the
others.

Reply via email to