From 2403d3d7a5e4878f211d868fd4b76a4b70ce2a54 Mon Sep 17 00:00:00 2001 From: Kelvin Nilsen Date: Mon, 11 May 2020 11:01:32 -0500 Subject: rs6000: Add scalar cfuged instruction Add the centifuge-doubleword instruction and built-in access. [gcc] 2020-05-11 Kelvin Nilsen * 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 * gcc.target.powerpc/cfuged-0.c: New test. * gcc.target.powerpc/cfuged-1.c: New test. --- gcc/doc/extend.texi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gcc/doc') 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 -- cgit v1.1