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

Reply via email to