* [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).