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

--- Comment #5 from Martin Jambor <jamborm at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> 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);
>      }

Yes, it does.

Reply via email to