aboutsummaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
authorMichael Meissner <meissner@linux.ibm.com>2018-05-21 22:21:40 +0000
committerMichael Meissner <meissner@gcc.gnu.org>2018-05-21 22:21:40 +0000
commit75705fa9fda3122269231260e6d04f23113eab2e (patch)
treee847eef6a8e4e654c76a0e5bb9a3c8ec90c49aad /gcc/ChangeLog
parent9c8c7338585ca99db181ce0d1a63654f97beeed0 (diff)
downloadgcc-75705fa9fda3122269231260e6d04f23113eab2e.zip
gcc-75705fa9fda3122269231260e6d04f23113eab2e.tar.gz
gcc-75705fa9fda3122269231260e6d04f23113eab2e.tar.bz2
re PR target/85657 (Make __ibm128 a separate type, even if long double uses the IBM double-double format)
[gcc] 2018-05-21 Michael Meissner <meissner@linux.ibm.com> PR target/85657 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not define __ibm128 as long double. * config/rs6000/rs6000.c (rs6000_init_builtins): Always create __ibm128 as a distinct type. (init_float128_ieee): Fix up conversions between IFmode and IEEE 128-bit types to use the correct functions. (rs6000_expand_float128_convert): Use explicit FLOAT_EXTEND to convert between 128-bit floating point types that have different modes but the same representation, instead of using gen_lowpart to makean alias. * config/rs6000/rs6000.md (IFKF): New iterator for IFmode and KFmode. (IFKF_reg): New attributes to give the register constraints for IFmode and KFmode. (extend<mode>tf2_internal): New insns to mark an explicit conversion between 128-bit floating point types that have a different mode but share the same representation. [gcc/testsuite] 2018-05-21 Michael Meissner <meissner@linux.ibm.com> PR target/85657 * gcc.target/powerpc/pr85657-1.c: New test for converting between __float128, __ibm128, and long double. * gcc.target/powerpc/pr85657-2.c: Likewise. * gcc.target/powerpc/pr85657-3.c: Likewise. * g++.dg/pr85667.C: New test to make sure __ibm128 is implementated as a separate type internally, and is not just an alias for long double. From-SVN: r260489
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index db367f7..6aad0d5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,24 @@
+2018-05-21 Michael Meissner <meissner@linux.ibm.com>
+
+ PR target/85657
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
+ define __ibm128 as long double.
+ * config/rs6000/rs6000.c (rs6000_init_builtins): Always create
+ __ibm128 as a distinct type.
+ (init_float128_ieee): Fix up conversions between IFmode and IEEE
+ 128-bit types to use the correct functions.
+ (rs6000_expand_float128_convert): Use explicit FLOAT_EXTEND to
+ convert between 128-bit floating point types that have different
+ modes but the same representation, instead of using gen_lowpart to
+ makean alias.
+ * config/rs6000/rs6000.md (IFKF): New iterator for IFmode and
+ KFmode.
+ (IFKF_reg): New attributes to give the register constraints for
+ IFmode and KFmode.
+ (extend<mode>tf2_internal): New insns to mark an explicit
+ conversion between 128-bit floating point types that have a
+ different mode but share the same representation.
+
2018-05-21 Richard Sandiford <richard.sandiford@linaro.org>
PR tree-optimization/85814