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/config/rs6000/rs6000.opt | |
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/config/rs6000/rs6000.opt')
-rw-r--r-- | gcc/config/rs6000/rs6000.opt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt index 61e3c8a..8064f23 100644 --- a/gcc/config/rs6000/rs6000.opt +++ b/gcc/config/rs6000/rs6000.opt @@ -632,3 +632,7 @@ Enable/disable IEEE 128-bit floating point via the __float128 keyword. mfloat128-hardware Target Report Mask(FLOAT128_HW) Var(rs6000_isa_flags) Enable/disable using IEEE 128-bit floating point instructions. + +mfloat128-convert +Target Undocumented Mask(FLOAT128_CVT) Var(rs6000_isa_flags) +Enable/disable default conversions between __float128 & long double. |