diff options
author | Will Schmidt <will_schmidt@vnet.ibm.com> | 2020-06-18 15:14:00 -0500 |
---|---|---|
committer | Will Schmidt <will_schmidt@vnet.ibm.com> | 2020-07-10 09:37:37 -0500 |
commit | f83d1f7eaa77967e6395eef13cd12ca282f1d11a (patch) | |
tree | 8eda912aa022edce374fec353db3e64beaab167f /gcc/doc | |
parent | 3bb330022ce47a3e8966a9930f392e497c608f59 (diff) | |
download | gcc-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.texi | 10 |
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. |