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 >