2019-07-21 Paul A. Clarke <p...@us.ibm.com>
[gcc] * doc/extend.texi: Add documentation for __builtin_mtfsf. Index: gcc/doc/extend.texi =================================================================== --- gcc/doc/extend.texi (revision 273615) +++ gcc/doc/extend.texi (working copy) @@ -16848,6 +16848,7 @@ unsigned long __builtin_ppc_mftb (); double __builtin_unpack_ibm128 (__ibm128, int); __ibm128 __builtin_pack_ibm128 (double, double); double __builtin_mffs (void); +double __builtin_mtfsf (const int, double); void __builtin_mtfsb0 (const int); void __builtin_mtfsb1 (const int); void __builtin_set_fpscr_rn (int); @@ -16864,6 +16865,10 @@ return the value of the FPSCR register. Note, ISA @code{__builtin_mffsl()} which permits software to read the control and non-sticky status bits in the FSPCR without the higher latency associated with accessing the sticky status bits. The +@code{__builtin_mtfsf} takes a constant 8-bit integer field mask and a +representation of the new value of the FPSCR and generates the @code{mtfsf} +instruction to copy the supplied value into the FPSCR, subject to the field +mask, each bit of which represents a nibble of the FPSCR. The @code{__builtin_mtfsb0} and @code{__builtin_mtfsb1} take the bit to change as an argument. The valid bit range is between 0 and 31. The builtins map to the @code{mtfsb0} and @code{mtfsb1} instructions which take the argument and -- PC