On 7/22/19 12:58 AM, Segher Boessenkool wrote:
> On Sun, Jul 21, 2019 at 05:22:19PM -0500, Paul Clarke wrote:
>> Add compatibility implementations of _mm_blend_epi16 and _mm_blendv_epi8
>> intrinsics.
>>
>> Respective test cases are copied almost verbatim (minor changes to
>> the dejagnu head lines) from i386.
>>
>> 2019-07-21  Paul A. Clarke  <p...@us.ibm.com>
>>
>> [gcc]
>>
>>      * config/rs6000/smmintrin.h (_mm_blend_epi16): New.
>>      (_mm_blendv_epi8): New.
>>
>> [gcc/testsuite]
>>
>>      * gcc.target/powerpc/sse4_1-check.h: New.
>>      * gcc.target/powerpc/sse4_1-pblendvb.c: New.
>>      * gcc.target/powerpc/sse4_1-pblendw.c: New.
>>      * gcc.target/powerpc/sse4_1-pblendw-2.c: New.
>>
>> Tested on 64bit LE, 64bit and 32bit BE.
>>
>> v2: algorithm improvements as suggested by Segher.  Note that 
>> _mm_blend_epi16,
>> which now uses vec_gb, also requires the use of vec_unpackh to handle the
>> 16 bit elements.  It also requires a vec_reve on big endian, due to the 
>> endian
>> characteristics of vec_gb.  Both are still much shorter.  Thanks, Segher!
> Ah yes, I missed those "details".  Glad to hear it still helps.
>
> Approved for trunk, please apply.  Thanks!
>
> Do we need/want backports for this?

IMHO, yes, it would be really nice to have this in GCC 9.2 at least.

Bill
>
>
> Segher
>

Reply via email to