aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/match.pd3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 08c2c8c..609a6a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2016-01-09 John David Anglin <danglin@gcc.gnu.org>
+
+ PR middle-end/68743
+ * match.pd: Require target has function_c99_misc before doing
+ truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
+
2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
diff --git a/gcc/match.pd b/gcc/match.pd
index 64e718c..069d271 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -2784,7 +2784,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
BUILT_IN_RINTF BUILT_IN_RINTF)
/* truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.,
if x is a float. */
- (if (optimize && canonicalize_math_p ())
+ (if (optimize && canonicalize_math_p ()
+ && targetm.libc_has_function (function_c99_misc))
(simplify
(froms (convert float_value_p@0))
(convert (tos @0)))))