diff options
author | Jakub Jelinek <jakub@redhat.com> | 2014-12-03 21:35:08 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2014-12-03 21:35:08 +0100 |
commit | e9082138bd78d2eb4e3f3b2af8127c6b2bcfbe84 (patch) | |
tree | b0a37d5c035d1b078e8b2a87a5ebefb755e18305 /gcc | |
parent | c3d79243214c8fbfc6696c249232ccfb033a59ef (diff) | |
download | gcc-e9082138bd78d2eb4e3f3b2af8127c6b2bcfbe84.zip gcc-e9082138bd78d2eb4e3f3b2af8127c6b2bcfbe84.tar.gz gcc-e9082138bd78d2eb4e3f3b2af8127c6b2bcfbe84.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/expmed.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eff109f..aa2f958 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2014-12-03 Jakub Jelinek <jakub@redhat.com> + 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 0304e46..708f04f 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)) { |