diff options
author | Kelvin Nilsen <kelvin@gcc.gnu.org> | 2020-05-11 11:01:32 -0500 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.ibm.com> | 2020-05-11 11:01:32 -0500 |
commit | 2403d3d7a5e4878f211d868fd4b76a4b70ce2a54 (patch) | |
tree | 9228482ac0ba952e4b3d733fa58a15118caf2c5c /gcc/doc | |
parent | 84f4954c38228e4cb3e6f0b5471883e6c2523631 (diff) | |
download | gcc-2403d3d7a5e4878f211d868fd4b76a4b70ce2a54.zip gcc-2403d3d7a5e4878f211d868fd4b76a4b70ce2a54.tar.gz gcc-2403d3d7a5e4878f211d868fd4b76a4b70ce2a54.tar.bz2 |
rs6000: Add scalar cfuged instruction
Add the centifuge-doubleword instruction and built-in access.
[gcc]
2020-05-11 Kelvin Nilsen <kelvin@gcc.gnu.org>
* config/rs6000/rs6000-builtin.def (BU_FUTURE_MISC_0): New
#define.
(BU_FUTURE_MISC_1): Likewise.
(BU_FUTURE_MISC_2): Likewise.
(BU_FUTURE_MISC_3): Likewise.
(__builtin_cfuged): New built-in function definition.
* config/rs6000/rs6000.md (UNSPEC_CFUGED): New constant.
(cfuged): New insn.
* doc/extend.texi (Basic PowerPC Built-in Functions Available for
a Future Architecture): New subsubsection.
[gcc/testsuite]
2020-05-11 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target.powerpc/cfuged-0.c: New test.
* gcc.target.powerpc/cfuged-1.c: New test.
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 4a4d3bd..8b5a51a 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -16980,6 +16980,7 @@ implementing assertions. * Basic PowerPC Built-in Functions Available on ISA 2.06:: * Basic PowerPC Built-in Functions Available on ISA 2.07:: * Basic PowerPC Built-in Functions Available on ISA 3.0:: +* Basic PowerPC Built-in Functions Available for a Future Architecture:: @end menu This section describes PowerPC built-in functions that do not require @@ -17533,6 +17534,27 @@ the FPSCR. The instruction is a lower latency version of the @code{mffs} instruction. If the @code{mffsl} instruction is not available, then the builtin uses the older @code{mffs} instruction to read the FPSCR. +@node Basic PowerPC Built-in Functions Available for a Future Architecture +@subsubsection Basic PowerPC Built-in Functions Available for a Future Architecture + +The basic built-in functions described in this section are +available on the PowerPC family of processors starting with a +hypothetical CPU which may or may not be available in the future, as +requested by specifying @option{-mcpu=future} on the command line. +Unless explicitly disabled on the command line, +specifying @option{-mcpu=future} has the effect of enabling all the +same options as for @option{-mcpu=power9}. + +The following built-in functions are available on Linux 64-bit systems +that use a future architecture instruction set (@option{-mcpu=future}): + +@smallexample +@exdent unsigned long long int +@exdent __builtin_cfuged (unsigned long long int, unsigned long long int) +@end smallexample +Perform a 64-bit centrifuge operation, as if implemented by the Future +@code{cfuged} instruction. +@findex __builtin_cfuged @node PowerPC AltiVec/VSX Built-in Functions @subsection PowerPC AltiVec/VSX Built-in Functions |