On Thu, Oct 25, 2018 at 02:07:54PM -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 for SSSE3.  This patch adds the 32 x86 intrinsics from
> <tmmintrin.h> ("SSSE3").  (Patch 2/2 adds tests for these intrinsics,
> and briefly describes the tests performed.)
> 
> Bootstrapped and tested on Linux POWER8 LE, POWER8 BE (64 & 32), and POWER7.
> 
> OK for trunk?

I have acked this before; it is still okay.  One thing:

> +   In the specific case of X86 SSE2 (__m128i, __m128d) intrinsics,
> +   the PowerPC VMX/VSX ISA is a good match for vector double SIMD
> +   operations.  However scalar double operations in vector (XMM)
> +   registers require the POWER8 VSX ISA (2.07) level. Also there are
> +   important differences for data format and placement of double
> +   scalars in the vector register.
> +
> +   For PowerISA Scalar double is in FPRs (left most 64-bits of the
> +   low 32 VSRs), while X86_64 SSE2 uses the right most 64-bits of
> +   the XMM. These differences require extra steps on POWER to match
> +   the SSE2 scalar double semantics.
> +
> +   Most SSE2 scalar double intrinsic operations can be performed more
> +   efficiently as C language double scalar operations or optimized to
> +   use vector SIMD operations.  We recommend this for new applications.
> +
> +   Another difference is the format and details of the X86_64 MXSCR vs
> +   the PowerISA FPSCR / VSCR registers. We recommend applications
> +   replace direct access to the MXSCR with the more portable <fenv.h>
> +   Posix APIs.  */

I don't know how relevant and/or correct this comment is to this file
(it looks like you copied it from previous headers?)


Segher

Reply via email to