Hi Paul, On Tue, Oct 02, 2018 at 09:11:57AM -0500, Paul Clarke wrote: > This is a follow-on to earlier commits for adding compatibility > implementations of x86 intrinsics for PPC64LE. This is the first of > two patches. This patch adds 11 of the 13 x86 intrinsics from > <pmmintrin.h> ("SSE3"). (Patch 2/2 adds tests for these intrinsics, > and briefly describes the tests performed.) > > Implementations are relatively straightforward, with occasional > extra effort for vector element ordering.
Looks fine. > Not implemented are _mm_wait and _mm_monitor, as there are no > direct or trivial analogs in the POWER ISA. > * config.gcc (powerpc*-*-*): Add pmmintrin.h. "... to extra_headers"? > +#if 0 > +/* POWER8 / POWER9 have no equivalent. */ > + > +extern __inline void __attribute__((__gnu_inline__, __always_inline__, > __artificial__)) > +_mm_monitor (void const * __P, unsigned int __E, unsigned int __H) > +{ > + __builtin_ia32_monitor (__P, __E, __H); > +#error "_mm_monitor is not supported on this architecture." > +} > + > +extern __inline void __attribute__((__gnu_inline__, __always_inline__, > __artificial__)) > +_mm_mwait (unsigned int __E, unsigned int __H) > +{ > +#error "_mm_mwait is not supported on this architecture." > +} > +#endif > + > +#endif /* _PMMINTRIN_H_INCLUDED */ Don't #if 0 the x86 implementation please; just say e.g. /* POWER8 / POWER9 have no equivalent for __builtin_ia32_monitor and _mm_mwait. */ Okay for trunk. Thanks! Segher