diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 08c2c8c3720..609a6a3eab8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-01-09 John David Anglin + + 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 * configure.ac (isl_options_set_schedule_serialize_sccs): Also diff --git a/gcc/match.pd b/gcc/match.pd index 64e718cc5c9..069d2718399 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)))))