aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorWill Schmidt <will_schmidt@vnet.ibm.com>2020-06-18 15:14:00 -0500
committerWill Schmidt <will_schmidt@vnet.ibm.com>2020-07-10 09:37:37 -0500
commitf83d1f7eaa77967e6395eef13cd12ca282f1d11a (patch)
tree8eda912aa022edce374fec353db3e64beaab167f /gcc/doc
parent3bb330022ce47a3e8966a9930f392e497c608f59 (diff)
downloadgcc-f83d1f7eaa77967e6395eef13cd12ca282f1d11a.zip
gcc-f83d1f7eaa77967e6395eef13cd12ca282f1d11a.tar.gz
gcc-f83d1f7eaa77967e6395eef13cd12ca282f1d11a.tar.bz2
[PATCH, rs6000]Add support to enable vmsumudm behind vec_msum builtin.
gcc/ChangeLog: 2020-07-08 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/altivec.h (vec_vmsumudm): New define. * config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec. (altivec_vmsumudm): New define_insn. * config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3 entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry. * config/rs6000/rs6000-call.c (altivec_overloaded_builtins): Add entries for ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum. * doc/extend.texi: Add document for vmsumudm behind vmsum. gcc/testsuite/ChangeLog: 2020-07-08 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/builtins-msum-runnable.c: New test. * gcc.target/powerpc/vsx-builtin-msum.c: New test. (cherry picked from commit c1a57681a64150d2fc336ba8e055c5f82e3737e8)
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/extend.texi10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 3a96710..106e2db 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -20056,6 +20056,13 @@ bool scalar_test_data_class (__ieee128 source, const int condition);
bool scalar_test_neg (float source);
bool scalar_test_neg (double source);
bool scalar_test_neg (__ieee128 source);
+
+vector _uint128_t vec_msum (vector unsigned long long,
+ vector unsigned long long,
+ vector _uint128_t);
+vector _int128_t vec_msum (vector signed long long,
+ vector signed long long,
+ vector _int128_t);
@end smallexample
The @code{scalar_extract_exp} and @code{scalar_extract_sig}
@@ -20075,6 +20082,9 @@ Note that the sign of the significand is not represented in the result
returned from the @code{scalar_extract_sig} function. Use the
@code{scalar_test_neg} function to test the sign of its @code{double}
argument.
+The @code{vec_msum} functions perform a vector multiply-sum, returning
+the result of arg1*arg2+arg3. ISA 3.0 adds support for vec_msum returning
+a vector int128 result.
The @code{scalar_insert_exp}
functions require a 64-bit environment supporting ISA 3.0 or later.