On Fri, May 18, 2018 at 07:27:15PM -0400, Michael Meissner wrote: > Here is patch 2 of 2 to make __ibm128 a distinct type. This patch makes the > long double pack and unpack builtins only work if the long double type is IBM > extended double. It adds two new builtins to pack and unpack __ibm128 types. > > This has been tested on a little endian power8 system with bootstrap and > regression test (with the previous patch also applied). Can I check this into > the trunk and the GCC 8 branch? > > [gcc] > 2018-05-18 Michael Meissner <meiss...@linux.ibm.com> > > PR target/85657 > * config/rs6000/rs6000-builtin.def (BU_IBM128_2): New helper macro > for __builtin_{,un}pack_ibm128. > (PACK_IF): Declare __builtin_{,un}pack_ibm128. > (UNPACK_IF): Likewise. > * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): The mask > for long double builtins (RS6000_BTM_LDBL128) requires that long > double is IBM extended double. > (rs6000_invalid_builtin): Add a new error message if the long > double {,un}pack builtins are used when long double is IEEE > 128-bit floating point. > * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): Update comment. > * doc/extend.texi (PowerPC builtins): Update documention for > __builtin_{,un}pack_longdouble. Add documentation for > __builtin_{,un}pack_ibm128. > > [gcc/testsuite] > 2018-05-18 Michael Meissner <meiss...@linux.ibm.com> > > PR target/85657 > * gcc.target/powerpc/pr85657-4.c: New tests for pack/unpack > __ibm128 builtin functions, and whether an appropriate error > message is generate if the long double pack/unpack are used when > long double is IEEE 128. > * gcc.target/powerpc/pr85657-5.c: Likewise. > * gcc.target/powerpc/pr85657-6.c: Likewise.
-ENOPATCH? Segher