public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions
@ 2016-06-16 17:47 Kelvin Nilsen
  2016-06-16 17:58 ` Kelvin Nilsen
  2016-06-16 23:12 ` Segher Boessenkool
  0 siblings, 2 replies; 3+ messages in thread
From: Kelvin Nilsen @ 2016-06-16 17:47 UTC (permalink / raw)
  To: gcc-patches; +Cc: Segher Boessenkool

This patch improves upon a recently committed patch to add support for
Power9 vector absolute difference unsigned instructions in two ways:

1. The dg-require-effective-target directive is changed in all tests to
allow the test to run even though the tests are not run on a Power9
platform, as long as the associated as tool understands Power9
instructions.  A dg-skip-if directive is added to all tests to disable
these tests on aix hosts, because that platform is known to have
incompatibilities for these tests.

2. The body of the vadsdub-2.c test is modified to test different
behavior than is tested by vadsdub-1.c.  In the previous commit, these
two tests were identical.

gcc/testsuite/ChangeLog:

2016-06-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>

	* gcc.target/powerpc/vadsdu-0.c: Replace
	dg-require-effective-target directive to allow test to run on more
	platforms, and add dg-skip-if directive to disable test on aix
	platforms because of known incompatibilities.
	* gcc.target/powerpc/vadsdu-1.c: Likewise.
	* gcc.target/powerpc/vadsdu-2.c: Likewise.
	* gcc.target/powerpc/vadsdu-3.c: Likewise.
	* gcc.target/powerpc/vadsdu-4.c: Likewise.
	* gcc.target/powerpc/vadsdu-5.c: Likewise.
	* gcc.target/powerpc/vadsdub-1.c: Likewise.
	* gcc.target/powerpc/vadsdub-2.c: Replace
	dg-require-effective-target directive to allow test to run on more
	platforms, and add dg-skip-if directive to disable test on aix
	platforms because of known incompatibilities.
	(doAbsoluteDifferenceUnsigned): Replace __builtin_vec_vadub call
	with vec_absdb call to differentiate this test from vadsdub-1.c.
	* gcc.target/powerpc/vadsduh-1.c: Replace
	dg-require-effective-target directive to allow test to run on more
	platforms, and add dg-skip-if directive to disable test on aix
	platforms because of known incompatibilities.
	* gcc.target/powerpc/vadsduh-2.c: Likewise.
	* gcc.target/powerpc/vadsduw-1.c: Likewise.
	* gcc.target/powerpc/vadsduw-2.c: Likewise.

Index: gcc/testsuite/gcc.target/powerpc/vadsdu-0.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdu-0.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdu-0.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdu-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdu-1.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdu-1.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdu-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdu-2.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdu-2.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdu-3.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdu-3.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdu-3.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdu-4.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdu-4.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdu-4.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdu-5.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdu-5.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdu-5.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdub-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdub-1.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdub-1.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsdub-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsdub-2.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsdub-2.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
@@ -16,7 +17,7 @@ doAbsoluteDifferenceUnsigned (__vector unsigned ch
   source_1 = *p;
   source_2 = *q;
 
-  uc_result = __builtin_vec_vadub (source_1, source_2);
+  uc_result = vec_absdb (source_1, source_2);
   return uc_result;
 }
 
Index: gcc/testsuite/gcc.target/powerpc/vadsduh-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsduh-1.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsduh-1.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsduh-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsduh-2.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsduh-2.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsduw-1.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsduw-1.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsduw-1.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */
Index: gcc/testsuite/gcc.target/powerpc/vadsduw-2.c
===================================================================
--- gcc/testsuite/gcc.target/powerpc/vadsduw-2.c	(revision 237462)
+++ gcc/testsuite/gcc.target/powerpc/vadsduw-2.c	(working copy)
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { powerpc*-*-* } } } */
 /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power9" } } */
-/* { dg-require-effective-target p9vector_hw } */
+/* { dg-require-effective-target powerpc_p9vector_ok } */
+/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */
 /* { dg-options "-mcpu=power9" } */
 
 /* This test should succeed on both 32- and 64-bit configurations.  */

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions
  2016-06-16 17:47 [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions Kelvin Nilsen
@ 2016-06-16 17:58 ` Kelvin Nilsen
  2016-06-16 23:12 ` Segher Boessenkool
  1 sibling, 0 replies; 3+ messages in thread
From: Kelvin Nilsen @ 2016-06-16 17:58 UTC (permalink / raw)
  To: gcc-patches; +Cc: Segher Boessenkool



On 06/16/2016 11:47 AM, Kelvin Nilsen wrote:
> This patch improves upon a recently committed patch to add support for
> Power9 vector absolute difference unsigned instructions in two ways:
> 
> 1. The dg-require-effective-target directive is changed in all tests to
> allow the test to run even though the tests are not run on a Power9
> platform, as long as the associated as tool understands Power9
> instructions.  A dg-skip-if directive is added to all tests to disable
> these tests on aix hosts, because that platform is known to have
> incompatibilities for these tests.
> 
> 2. The body of the vadsdub-2.c test is modified to test different
> behavior than is tested by vadsdub-1.c.  In the previous commit, these
> two tests were identical.
> 

Sorry for quick-fingering my post.  I meant to add before posting that I
have bootstrapped and regression tested on powerpc64le-unkonwn-linux-gnu
with no regressions.  Is this ok for trunk?  Is it ok for gcc-6 after a
few days of burn-in on the trunk?

Thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions
  2016-06-16 17:47 [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions Kelvin Nilsen
  2016-06-16 17:58 ` Kelvin Nilsen
@ 2016-06-16 23:12 ` Segher Boessenkool
  1 sibling, 0 replies; 3+ messages in thread
From: Segher Boessenkool @ 2016-06-16 23:12 UTC (permalink / raw)
  To: Kelvin Nilsen; +Cc: gcc-patches

On Thu, Jun 16, 2016 at 11:47:17AM -0600, Kelvin Nilsen wrote:
> This patch improves upon a recently committed patch to add support for
> Power9 vector absolute difference unsigned instructions in two ways:

This is okay for trunk, and 6 after a while.  Thanks.  One comment:

> +/* { dg-skip-if "" { powerpc*-*-aix* } { "*" } { "" } } */

You can write that as just

/* { dg-skip-if "" { powerpc*-*-aix* } } */


Segher

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-16 23:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-16 17:47 [PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions Kelvin Nilsen
2016-06-16 17:58 ` Kelvin Nilsen
2016-06-16 23:12 ` Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).