https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127571

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |127377

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Does the following fix it?

diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc
index 997a37a6647..c496ff93d11 100644
--- a/gcc/tree-ssa-sccvn.cc
+++ b/gcc/tree-ssa-sccvn.cc
@@ -2081,7 +2081,7 @@ vn_walk_cb_data::push_partial_def (pd_data pd,
          pd.offset += o;
        }
       if (pd.size + pd.offset > offseti + maxsizei)
-       pd.size = maxsizei + ((pd.size + pd.offset - offseti - maxsizei)
+       pd.size = maxsizei + ((pd.size + pd.offset - (offseti + maxsizei))
                              % BITS_PER_UNIT);
     }


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127377
[Bug 127377] [14/15 Regression] Wrong code at -O3 on x86_64-pc-linux-gnu

Reply via email to