diff options
author | Michael Meissner <meissner@linux.vnet.ibm.com> | 2015-12-29 17:15:14 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 2015-12-29 17:15:14 +0000 |
commit | ec21a884b30c42083cb79da52db5257acb12fc5d (patch) | |
tree | 5ceb4a02404f0471ca1c43bbca8a105917573652 /gcc/doc | |
parent | 1c645536272780edf11eacc98bf2fa014f8c1489 (diff) | |
download | gcc-ec21a884b30c42083cb79da52db5257acb12fc5d.zip gcc-ec21a884b30c42083cb79da52db5257acb12fc5d.tar.gz gcc-ec21a884b30c42083cb79da52db5257acb12fc5d.tar.bz2 |
rs6000.c (init_float128_ieee): Remove IEEE 128-bit comparison functions in cmp_optab and ucmp_optab.
2015-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit
comparison functions in cmp_optab and ucmp_optab.
(rs6000_generate_compare): Rewrite IEEE 128-bit floating point
software emulation comparisons to only use __eqkf2, __gekf2,
__lekf2, and __unordkf2 functions.
(rs6000_invalid_binary_op): Add support for -mfloat128-convert.
* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
__FLOAT128_HARDWARE__ if hardware IEEE 128-bit support is
available.
* config/rs6000/rs6000.opt (-mfloat128-convert): Add debug switch
to allow IBM extended double and IEEE 128-bit floating point to be
converted with default conversions.
* config/rs6000/rs6000.md (extendkftf2): Add converters between
KFmode and TFmode if -mabi=ieeelongdouble.
(trunctfkf2): Likewise.
(ieee128_mfvsrd): Split 64-bit integer conversions into 32-bit and
64-bit insns.
(ieee128_mfvsrd_64bit): Likewise.
(ieee128_mfvsrd_32bit): Likewise.
(ieee128_mtvsrd): Likewise.
(ieee128_mtvsrd_64bit): Likewise.
(ieee128_mtvsrd_32bit): Likewise.
* doc/extend.texi (Floating Types): Document that complex
__float128 does not work currently.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document that
-mfloat128 is only supported on PowerPC 64-bit Linux systems.
From-SVN: r231996
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/extend.texi | 20 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 3 |
2 files changed, 11 insertions, 12 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi index 4578925..65b6a96 100644 --- a/gcc/doc/extend.texi +++ b/gcc/doc/extend.texi @@ -954,22 +954,20 @@ typedef _Complex float __attribute__((mode(TC))) _Complex128; typedef _Complex float __attribute__((mode(XC))) _Complex80; @end smallexample -On PowerPC Linux, Freebsd and Darwin systems, the default for -@code{long double} is to use the IBM extended floating point format -that uses a pair of @code{double} values to extend the precision. -This means that the mode @code{TCmode} was already used by the -traditional IBM long double format, and you would need to use the mode -@code{KCmode}: +On PowerPC 64-bit Linux systems there are currently problems in using +the complex @code{__float128} type. When these problems are fixed, +you would use: @smallexample typedef _Complex float __attribute__((mode(KC))) _Complex128; @end smallexample -Not all targets support additional floating-point types. @code{__float80} -and @code{__float128} types are supported on x86 and IA-64 targets. -The @code{__float128} type is supported on hppa HP-UX. -The @code{__float128} type is supported on PowerPC systems by default -if the vector scalar instruction set (VSX) is enabled. +Not all targets support additional floating-point types. +@code{__float80} and @code{__float128} types are supported on x86 and +IA-64 targets. The @code{__float128} type is supported on hppa HP-UX. +The @code{__float128} type is supported on PowerPC 64-bit Linux +systems by default if the vector scalar instruction set (VSX) is +enabled. On the PowerPC, @code{__ibm128} provides access to the IBM extended double format, and it is intended to be used by the library functions diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 4e2cf8f..b85f9b5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -19690,7 +19690,8 @@ hardware instructions. The VSX instruction set (@option{-mvsx}, @option{-mcpu=power7}, or @option{-mcpu=power8}) must be enabled to use the @option{-mfloat128} -option. +option. The @code{-mfloat128} option only works on PowerPC 64-bit +Linux systems. @item -mfloat128-hardware @itemx -mno-float128-hardware |