This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000] 2/2 Add x86 SSE3 <pmmintrin,h> intrinsics to GCC PPC64LE target
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Paul Clarke <pc at us dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 5 Oct 2018 04:20:06 -0500
- Subject: Re: [PATCH, rs6000] 2/2 Add x86 SSE3 <pmmintrin,h> intrinsics to GCC PPC64LE target
- References: <c4d4781d-0842-0ba6-7b11-df7631f010b0@us.ibm.com>
Hi!
On Tue, Oct 02, 2018 at 09:12:07AM -0500, Paul Clarke wrote:
> This is part 2/2 for contributing PPC64LE support for X86 SSE3
> instrisics. This patch includes testsuite/gcc.target tests for the
> intrinsics defined in pmmintrin.h.
>
> Tested on POWER8 ppc64le and ppc64 (-m64 and -m32, the latter only reporting
> 10 new unsupported tests.)
>
> [gcc/testsuite]
>
> 2018-10-01 Paul A. Clarke <pc@us.ibm.com>
>
> * sse3-check.h: New file.
> * sse3-addsubps.h: New file.
> * sse3-addsubpd.h: New file.
> * sse3-haddps.h: New file.
> * sse3-hsubps.h: New file.
> * sse3-haddpd.h: New file.
> * sse3-hsubpd.h: New file.
> * sse3-lddqu.h: New file.
> * sse3-movsldup.h: New file.
> * sse3-movshdup.h: New file.
> * sse3-movddup.h: New file.
All these entries should have gcc.target/powerpc/ in the file name.
> --- gcc/testsuite/gcc.target/powerpc/pr37191.c (nonexistent)
> +++ gcc/testsuite/gcc.target/powerpc/pr37191.c (working copy)
You need to mention this file in the changelog, too.
> @@ -0,0 +1,49 @@
> +/* { dg-do compile } */
> +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
> +/* { dg-options "-O3 -mdirect-move" } */
-mdirect-move is deprecated and doesn't do anything. You want -mcpu=power8
if you want to enable power8 instructions. (Or -mpower8-vector also works,
for the time being anyway, but it is not preferred).
Have you tested this with -mcpu= an older cpu? Did that work? (It won't
_do_ much of course, but are there extra unexpected errors, etc.)
> +/* { dg-require-effective-target lp64 } */
Do these tests actually need this? For what, then?
Segher