From e9082138bd78d2eb4e3f3b2af8127c6b2bcfbe84 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 3 Dec 2014 21:35:08 +0100 Subject: [PATCH] re PR c/59708 (clang-compatible checked arithmetic builtins) PR c/59708 * expmed.c (expand_widening_mult): Return const0_rtx if coeff is 0. From-SVN: r218331 --- gcc/ChangeLog | 4 ++++ gcc/expmed.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eff109f584c..aa2f9589e5f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-12-03 Jakub Jelinek + PR c/59708 + * expmed.c (expand_widening_mult): Return const0_rtx if + coeff is 0. + * doc/gimple.texi (gimple_build_assign_with_ops): Remove. (gimple_build_assign): Document the new overloads. diff --git a/gcc/expmed.c b/gcc/expmed.c index 0304e46ebb3..708f04f11c5 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -3289,6 +3289,9 @@ expand_widening_mult (machine_mode mode, rtx op0, rtx op1, rtx target, enum mult_variant variant; struct algorithm algorithm; + if (coeff == 0) + return CONST0_RTX (mode); + /* Special case powers of two. */ if (EXACT_POWER_OF_2_OR_ZERO_P (coeff)) { -- 2.30.2