diff options
author | Kelvin Nilsen <kelvin@gcc.gnu.org> | 2020-05-11 16:16:15 -0500 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.ibm.com> | 2020-05-11 16:16:15 -0500 |
commit | 2202299c2aa69385ca5e7574914dabc84fb6a40a (patch) | |
tree | 7cccdff490d7f9d5c84abb870ceb17768020f0ee /gcc/doc | |
parent | 25bf7d32c31bb45993a9c81dd01043e77c4a44ed (diff) | |
download | gcc-2202299c2aa69385ca5e7574914dabc84fb6a40a.zip gcc-2202299c2aa69385ca5e7574914dabc84fb6a40a.tar.gz gcc-2202299c2aa69385ca5e7574914dabc84fb6a40a.tar.bz2 |
rs6000: Add pdepd and pextd
Add scalar instructions for parallel bit deposit and extract, with
built-in function support.
[gcc]
2020-05-11 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000-builtin.def (__builtin_pdepd): New built-in
function.
(__builtin_pextd): Likewise.
* config/rs6000/rs6000.md (UNSPEC_PDEPD): New constant.
(UNSPEC_PEXTD): Likewise.
(pdepd): New insn.
(pextd): Likewise.
* doc/extend.texi (Basic PowerPC Built-in Functions Available for
a Future Architecture): Add descriptions of __builtin_pdepd and
__builtin_pextd functions.
[gcc/testsuite]
2020-05-11 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/pdep-0.c: New.
* gcc.target/powerpc/pdep-1.c: New.
* gcc.target/powerpc/pextd-0.c: New.
* gcc.target/powerpc/pextd-1.c: New.
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 1043978..9602a31 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -17572,6 +17572,22 @@ Perform a 64-bit count trailing zeros operation under mask, as if implemented by the future @code{cnttzdm} instruction. @findex __builtin_cnttzdm +@smallexample +@exdent unsigned long long int +@exdent __builtin_pdepd (unsigned long long int, unsigned long long int) +@end smallexample +Perform a 64-bit parallel bits deposit operation, as if implemented by the +Future @code{pdepd} instruction. +@findex __builtin_pdepd + +@smallexample +@exdent unsigned long long int +@exdent __builtin_pextd (unsigned long long int, unsigned long long int) +@end smallexample +Perform a 64-bit parallel bits extract operation, as if implemented by the +Future @code{pextd} instruction. +@findex __builtin_pextd + @node PowerPC AltiVec/VSX Built-in Functions @subsection PowerPC AltiVec/VSX Built-in Functions |