aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/invoke.texi
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.vnet.ibm.com>2017-09-06 17:41:08 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2017-09-06 17:41:08 +0000
commitbbd3510114011baa1be27dde94c55085678c34bf (patch)
treeed01c1eedb33370ffddc2ccfe2f0fe47b9d335c2 /gcc/doc/invoke.texi
parent3f8cf83477cc336b1fec73ef16293644cd5ec453 (diff)
downloadgcc-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.texi33
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