[gcc]
commit9959b72991b44431bea5a82abd85a92fce0fe8be
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Sep 2017 17:41:08 +0000 (6 17:41 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Sep 2017 17:41:08 +0000 (6 17:41 +0000)
treeed01c1eedb33370ffddc2ccfe2f0fe47b9d335c2
parentf4ee4b3924b3801896f8f575c7def4631e317146
[gcc]
2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete
OPTION_MASK_FLOAT128_KEYWORD.
(POWERPC_MASKS): Likewise.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Delete
support for the -mfloat128-type option, and make -mfloat128
default on PowerPC Linux systems.  Define or undefine
__FLOAT128__ and  __FLOAT128_HARDWARE__ for the current options.
Define __float128 to be __ieee128 if IEEE 128-bit support is
enabled, or undefine it.
(rs6000_cpu_cpp_builtins): Delete defining __FLOAT128__ here.
Delete defining __FLOAT128_TYPE__.
* config/rs6000/rs6000.opt (x_TARGET_FLOAT128_TYPE): Delete the
-mfloat128-type option and make -mfloat128 default on PowerPC
Linux systems.
(TARGET_FLOAT128_TYPE): Likewise.
(-mfloat128-type): Likewise.
* config/rs6000/rs6000.c (rs6000_option_override_internal):
Delete the -mfloat128-type option and make -mfloat128 default on
PowerPC Linux systems.  Always use __ieee128 to be the keyword for
the IEEE 128-bit type, and map __float128 to __ieee128 if IEEE
128-bit floating point is enabled.  Change tests from using
-mfloat128-type to -mfloat128.
(rs6000_mangle_type): Use the correct mangling for the __float128
type even if normal long double is restricted to 64-bits.
(floatn_mode): Enable the _Float128 type by default on VSX Linux
systems.
* config/rs6000/rs6000.h (MASK_FLOAT128_TYPE): Delete.
(MASK_FLOAT128_KEYWORD): Define new shortcut macro.
(RS6000BTM_FLOAT128): Define in terms of -mfloat128, not
-mfloat128-type.
* doc/invoke.texi (RS/6000 and PowerPC Options): Update
documentation for -mfloat128.

[gcc/testsuite]
2017-09-07  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/float128-1.c: Update options to know that
-mfloat128 is now on by default on PowerPC VSX systems.  Remove
-static-libgcc option which is no longer needed.  Use -mvsx or
-mpower9-vector to enable VSX or hardware IEEE support, rather
than specifying a particular CPU.
* gcc.target/powerpc/float128-2.c: Likewise.
* gcc.target/powerpc/float128-cmp.c: Likewise.
* gcc.target/powerpc/float128-complex-1.c: Likewise.
* gcc.target/powerpc/float128-complex-2.c: Likewise.
* gcc.target/powerpc/float128-hw.c: Likewise.
* gcc.target/powerpc/float128-mix.c: Likewise.
* gcc.target/powerpc/float128-type-1.c: Likewise.
* gcc.target/powerpc/float128-type-2.c: Likewise.
* gcc.target/powerpc/float128-3.c: New test.
* gcc.target/powerpc/float128-4.c: Likewise.
* gcc.target/powerpc/float128-5.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251814 138bc75d-0d04-0410-961f-82ee72b054a4
20 files changed:
gcc/ChangeLog
gcc/config/rs6000/rs6000-c.c
gcc/config/rs6000/rs6000-cpus.def
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.opt
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/powerpc/float128-1.c
gcc/testsuite/gcc.target/powerpc/float128-2.c
gcc/testsuite/gcc.target/powerpc/float128-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/float128-4.c [copied from gcc/testsuite/gcc.target/powerpc/float128-1.c with 72% similarity]
gcc/testsuite/gcc.target/powerpc/float128-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/float128-cmp.c
gcc/testsuite/gcc.target/powerpc/float128-complex-1.c
gcc/testsuite/gcc.target/powerpc/float128-complex-2.c
gcc/testsuite/gcc.target/powerpc/float128-hw.c
gcc/testsuite/gcc.target/powerpc/float128-mix.c
gcc/testsuite/gcc.target/powerpc/float128-type-1.c
gcc/testsuite/gcc.target/powerpc/float128-type-2.c