diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2017-09-06 17:41:08 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2017-09-06 17:41:08 +0000 |
commit | bbd3510114011baa1be27dde94c55085678c34bf (patch) | |
tree | ed01c1eedb33370ffddc2ccfe2f0fe47b9d335c2 /gcc/doc/invoke.texi | |
parent | 3f8cf83477cc336b1fec73ef16293644cd5ec453 (diff) | |
download | gcc-bbd3510114011baa1be27dde94c55085678c34bf.zip gcc-bbd3510114011baa1be27dde94c55085678c34bf.tar.gz gcc-bbd3510114011baa1be27dde94c55085678c34bf.tar.bz2 |
rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete OPTION_MASK_FLOAT128_KEYWORD.
[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.
From-SVN: r251814
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 88edc93..6c844c6 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -22014,15 +22014,21 @@ Enable/disable the @var{__float128} keyword for IEEE 128-bit floating point and use either software emulation for IEEE 128-bit floating point or hardware instructions. -The VSX instruction set (@option{-mvsx}, @option{-mcpu=power7}, or -@option{-mcpu=power8}) must be enabled to use the @option{-mfloat128} -option. The @option{-mfloat128} option only works on PowerPC 64-bit -Linux systems. - -If you use the ISA 3.0 instruction set (@option{-mcpu=power9}), the -@option{-mfloat128} option will also enable the generation of ISA 3.0 -IEEE 128-bit floating point instructions. Otherwise, IEEE 128-bit -floating point will be done with software emulation. +The VSX instruction set (@option{-mvsx}, @option{-mcpu=power7}, +@option{-mcpu=power8}), or @option{-mcpu=power9} must be enabled to +use the IEEE 128-bit floating point support. The IEEE 128-bit +floating point support only works on PowerPC Linux systems. + +The default for @option{-mfloat128} is enabled on PowerPC Linux +systems using the VSX instruction set, and disabled on other systems. + +If you use the ISA 3.0 instruction set (@option{-mpower9-vector} or +@option{-mcpu=power9}) on a 64-bit system, the IEEE 128-bit floating +point support will also enable the generation of ISA 3.0 IEEE 128-bit +floating point instructions. Otherwise, if you do not specify to +generate ISA 3.0 instructions or you are targeting a 32-bit big endian +system, IEEE 128-bit floating point will be done with software +emulation. @item -mfloat128-hardware @itemx -mno-float128-hardware @@ -22031,12 +22037,9 @@ floating point will be done with software emulation. Enable/disable using ISA 3.0 hardware instructions to support the @var{__float128} data type. -If you use @option{-mfloat128-hardware}, it will enable the option -@option{-mfloat128} as well. - -If you select ISA 3.0 instructions with @option{-mcpu=power9}, but do -not use either @option{-mfloat128} or @option{-mfloat128-hardware}, -the IEEE 128-bit floating point support will not be enabled. +The default for @option{-mfloat128-hardware} is enabled on PowerPC +Linux systems using the ISA 3.0 instruction set, and disabled on other +systems. @item -mfloat-gprs=@var{yes/single/double/no} @itemx -mfloat-gprs |