aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKelvin Nilsen <kelvin@gcc.gnu.org>2016-04-14 17:59:32 +0000
committerKelvin Nilsen <kelvin@gcc.gnu.org>2016-04-14 17:59:32 +0000
commit215625f4edd27d8bc2470e4c2cb2b67f4ccd0412 (patch)
tree6741c354e63a7aebc21132372c45c1fd569bcfd7
parenta46fab8fe70998a20a664a15f6fc264543eadd1c (diff)
bug in dg test cases and add tex documentation
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/ibm/kelvin-rfc2469@234983 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/doc/extend.texi25
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdu-0.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdu-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdu-2.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdu-3.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdu-4.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdu-5.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdub-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsdub-2.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsduh-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsduh-2.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsduw-1.c2
-rw-r--r--gcc/testsuite/gcc.target/powerpc/vadsduw-2.c2
13 files changed, 37 insertions, 12 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 7e9ad7757d5..1b913390831 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -13859,6 +13859,31 @@ The @code{__builtin_divde}, @code{__builtin_divdeo},
64-bit environment support ISA 2.06 or later.
The following built-in functions are available for the PowerPC family
+of processors, starting with ISA 3.0 or later (@option{-mcpu=power9})
+or with @option{-mpower9-vector}:
+@smallexample
+__vector unsigned char
+vec_adu (__vector unsigned char arg1, __vector unsigned char arg2);
+__vector unsighed short
+vec_adu (__vector unsigned short arg1, __vector unsigned short arg2);
+__vector unsigned int
+vec_adu (__vector unsigned int arg1, __vector unsigned int arg2);
+
+__vector unsigned char
+vec_adub (__vector unsigned char arg1, __vector unsigned char arg2);
+__vector unsighed short
+vec_aduh (__vector unsigned short arg1, __vector unsigned short arg2);
+__vector unsigned int
+vec_aduw (__vector unsigned int arg1, __vector unsigned int arg2);
+@end smallexample
+
+The @code{vec_adu}, @code{vec_adub}, @code{vec_aduh}, and
+@code{vec_aduw} built-in functions each computes the absolute
+differences of the pairs of vector elements supplied in its two vector
+arguments, placing the absolute differences into the corresponding
+elements of the vector result.
+
+The following built-in functions are available for the PowerPC family
of processors, starting with ISA 3.0 or later (@option{-mcpu=power9}
or @option{-mmodulo}):
@smallexample
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdu-0.c b/gcc/testsuite/gcc.target/powerpc/vadsdu-0.c
index de2c81b76a7..3734ea77fee 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdu-0.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdu-0.c
@@ -18,4 +18,4 @@ doAbsoluteDifferenceUnsignedInt (__vector unsigned int *p,
return result;
}
-/* { dg-final { scan-assembler "vadsduw" } } */
+/* { dg-final { scan-assembler "vabsduw" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdu-1.c b/gcc/testsuite/gcc.target/powerpc/vadsdu-1.c
index f526f231e1e..9de5caf886d 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdu-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdu-1.c
@@ -17,4 +17,4 @@ doAbsoluteDifferenceUnsignedIntMacro (__vector unsigned int *p,
return result;
}
-/* { dg-final { scan-assembler "vadsduw" } } */
+/* { dg-final { scan-assembler "vabsduw" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdu-2.c b/gcc/testsuite/gcc.target/powerpc/vadsdu-2.c
index a68220f8acb..a57d6e06906 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdu-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdu-2.c
@@ -18,4 +18,4 @@ doAbsoluteDifferenceUnsignedShort (__vector unsigned short *p,
return result;
}
-/* { dg-final { scan-assembler "vadsduh" } } */
+/* { dg-final { scan-assembler "vabsduh" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdu-3.c b/gcc/testsuite/gcc.target/powerpc/vadsdu-3.c
index af19b9a1d60..7711607e920 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdu-3.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdu-3.c
@@ -17,4 +17,4 @@ doAbsoluteDifferenceUnsignedShortMacro (__vector unsigned short *p,
return result;
}
-/* { dg-final { scan-assembler "vadsduh" } } */
+/* { dg-final { scan-assembler "vabsduh" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdu-4.c b/gcc/testsuite/gcc.target/powerpc/vadsdu-4.c
index 9932bdcda4c..479e0c36daa 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdu-4.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdu-4.c
@@ -18,4 +18,4 @@ doAbsoluteDifferenceUnsignedChar (__vector unsigned char *p,
return result;
}
-/* { dg-final { scan-assembler "vadsdub" } } */
+/* { dg-final { scan-assembler "vabsdub" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdu-5.c b/gcc/testsuite/gcc.target/powerpc/vadsdu-5.c
index ba60c2bdfed..a9695634d7f 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdu-5.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdu-5.c
@@ -17,4 +17,4 @@ doAbsoluteDifferenceUnsignedCharMacro (__vector unsigned char *p,
return result;
}
-/* { dg-final { scan-assembler "vadsdub" } } */
+/* { dg-final { scan-assembler "vabsdub" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdub-1.c b/gcc/testsuite/gcc.target/powerpc/vadsdub-1.c
index 5c43041b596..c1807e6ef54 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdub-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdub-1.c
@@ -19,4 +19,4 @@ doAbsoluteDifferenceUnsigned (__vector unsigned char *p,
}
-/* { dg-final { scan-assembler "vadsdub" } } */
+/* { dg-final { scan-assembler "vabsdub" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c b/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c
index 5c43041b596..c1807e6ef54 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsdub-2.c
@@ -19,4 +19,4 @@ doAbsoluteDifferenceUnsigned (__vector unsigned char *p,
}
-/* { dg-final { scan-assembler "vadsdub" } } */
+/* { dg-final { scan-assembler "vabsdub" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsduh-1.c b/gcc/testsuite/gcc.target/powerpc/vadsduh-1.c
index 7ec024fec55..9bc12a0b727 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsduh-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsduh-1.c
@@ -18,4 +18,4 @@ doAbsoluteDifferenceUnsigned (__vector unsigned short *p,
return us_result;
}
-/* { dg-final { scan-assembler "vadsduh" } } */
+/* { dg-final { scan-assembler "vabsduh" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c b/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c
index 1d778a1acf7..424d280a108 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsduh-2.c
@@ -17,4 +17,4 @@ doAbsoluteDifferenceUnsignedMacro (__vector unsigned short *p,
return result;
}
-/* { dg-final { scan-assembler "vadsduh" } } */
+/* { dg-final { scan-assembler "vabsduh" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsduw-1.c b/gcc/testsuite/gcc.target/powerpc/vadsduw-1.c
index 9124404a60a..3327df8038c 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsduw-1.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsduw-1.c
@@ -18,4 +18,4 @@ doAbsoluteDifferenceUnsigned (__vector unsigned int *p,
return ui_result;
}
-/* { dg-final { scan-assembler "vadsduw" } } */
+/* { dg-final { scan-assembler "vabsduw" } } */
diff --git a/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c b/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c
index b7825ced9ad..bfdffb6660b 100644
--- a/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c
+++ b/gcc/testsuite/gcc.target/powerpc/vadsduw-2.c
@@ -17,4 +17,4 @@ doAbsoluteDifferenceUnsignedMacro (__vector unsigned int *p,
return result;
}
-/* { dg-final { scan-assembler "vadsduw" } } */
+/* { dg-final { scan-assembler "vabsduw" } } */