re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM...
commitf0e5e942351ba2b2637efdcb092adc4eeb92fcc3
authorMichael Meissner <meissner@linux.ibm.com>
Wed, 6 Jun 2018 22:54:17 +0000 (6 22:54 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Wed, 6 Jun 2018 22:54:17 +0000 (6 22:54 +0000)
tree598a1f9722200d8c4339c9a6fb32b277ed497953
parenta983358b0e0cb900d15ab15644dc436df3f15458
re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format)

[gcc]
2018-06-06  Michael Meissner  <meissner@linux.ibm.com>

PR target/85657
* config/rs6000/rs6000-builtin.def (BU_IBM128_2): New helper
macro for __ibm128 built-in functions.
(PACK_IF): Add __ibm128 pack/unpack functions.
(UNPACK_IF): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Do not
enable long double built-in functions if long double is IEEE
128-bit floating point.
(rs6000_invalid_builtin): Update long double built-in function
error message.
(rs6000_expand_builtin): For PACK_IF and UNPACK_IF built-in
functions, adjust the built-in function to use the long double
built-in function if __ibm128 and long double are the same type.
* doc/extend.texi (PowerPC builtins): Update documention for
__builtin_{,un}pack_longdouble.  Add documentation for
__builtin_{,un}pack_ibm128.

[gcc/testsuite]
2018-06-06  Michael Meissner  <meissner@linux.ibm.com>

PR target/85657
* gcc.target/powerpc/pr85657-4.c: New tests.
* gcc.target/powerpc/pr85657-5.c: Likewise.
* gcc.target/powerpc/pr85657-6.c: Likewise.

From-SVN: r261253
gcc/ChangeLog
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/rs6000.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog