On Thu, Jun 5, 2014 at 3:57 PM, Peter Bergner <berg...@vnet.ibm.com> wrote:
> PR61415 shows a problem for two test cases that should only be tested if the
> target supports a 128-bit long double.  In addition, the 128-bit long double
> pack and unpack builtins should not be enabled unless the target supports
> 128-bit long double.  The following patch accomplishes that, as well as
> removing the unused (and redundant) builtins __builtin_longdouble_dw0 and
> __builtin_longdouble_dw1.
>
> Is this ok for trunk assuming my powerpc64le-linux bootstrap and regtesting
> are clean?
>
> Is this also ok for the FSF 4.9 and FSF 4.8 branches?  Without the gcc/
> changes, we hit an ICE whenever we call __builtin_pack_longdouble and
> __builtin_unpack_longdouble when -mlong-double-64 is in effect.
>
> Peter
>
>
> gcc/
>         PR target/61415
>         * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
>         (BU_MISC_2): Rename to ...
>         (BU_LDBL128_2): ... this.
>         * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
>         (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
>         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
>         RS6000_BTM_LDBL128.
>         (rs6000_invalid_builtin): Add long double 128-bit builtin support.
>         (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
>         * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
>         (unpacktf_1): Likewise.
>         * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
>         (__builtin_longdouble_dw1): Likewise.
>         * doc/sourcebuild.texi (longdouble128): Document.
>
> gcc/testsuite/
>         PR target/61415
>         * lib/target-supports.exp (check_effective_target_longdouble128): New.
>         * gcc.target/powerpc/pack02.c: Use it.
>         * gcc.target/powerpc/tfmode_off.c: Likewise.

This is okay with me, as long as there are no objections from RMs
about removing the private APIs that should not have been added to FSF
GCC.

Thanks, David

Reply via email to