On Mon, Jul 22, 2019 at 08:28:33AM -0500, Bill Schmidt wrote: > 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.
Approved for GCC 9, then. Thanks, Segher