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