From 47ea5285e8839cdfeebe6f00df9a5557dceadbc4 Mon Sep 17 00:00:00 2001 From: kelvin Date: Thu, 14 Apr 2016 17:59:32 +0000 Subject: 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 --- gcc/doc/extend.texi | 25 +++++++++++++++++++++++++ gcc/testsuite/gcc.target/powerpc/vadsdu-0.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdu-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdu-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdu-3.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdu-4.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdu-5.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdub-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsdub-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsduh-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsduh-2.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsduw-1.c | 2 +- gcc/testsuite/gcc.target/powerpc/vadsduw-2.c | 2 +- 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 @@ -13858,6 +13858,31 @@ The @code{__builtin_divde}, @code{__builtin_divdeo}, @code{__builtin_divdeu}, @code{__builtin_divdeou} functions require a 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}): 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" } } */ -- cgit v1.2.3