This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH,rs6000] Improve tests for Power9 vector absolute difference unsigned instructions


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.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]