https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53100
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2021-08-06 00:00:00 |2023-7-21 --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (simplify (plus (convert @0) (convert @1)) (if (INTEGRAL_TYPE (type) && types_match (TREE_TYPE (@0), TREE_TYPE (@1)) && element_precision (TREE_TYPE (@0)) < element_precision (type)) (with { type ntype = find_next_best_type (TREE_TYPE (@0)); } (if (ntype && !types_match (ntype, type) && element_precision (ntype) < element_precision (type)) (convert (plus (convert:ntype @0) (convert:ntype @1))) ) ) ) Where find_next_best_type checks int, long, long long types ...