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

--- Comment #313 from John Paul Adrian Glaubitz <glaubitz at physik dot 
fu-berlin.de> ---
(In reply to Kazumoto Kojima from comment #312)
> (In reply to John Paul Adrian Glaubitz from comment #298)
> > Here is one ICE I have run into while building webkit2gtk with the latest
> > patches on top of an older GCC snapshot:
> 
> Although not tested well,
> 
> diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc
> index a2b2130d166..d9e7e67cba6 100644
> --- a/gcc/config/sh/sh.cc
> +++ b/gcc/config/sh/sh.cc
> @@ -11465,11 +11462,15 @@ sh_movsf_ie_y_split_p (rtx op0, rtx op1)
>  {
>    /* f, r */
>    if (REG_P (op0)
> -      && (SUBREG_P (op1) && GET_MODE (SUBREG_REG (op1)) == SImode))
> +      && (SUBREG_P (op1)
> +       && (GET_MODE (SUBREG_REG (op1)) == SImode
> +           || GET_MODE (SUBREG_REG (op1)) == DImode)))
>      return true;
>    /* r, f */
>    if (REG_P (op1)
> -      && (SUBREG_P (op0) && GET_MODE (SUBREG_REG (op0)) == SImode))
> +      && (SUBREG_P (op0)
> +       && (GET_MODE (SUBREG_REG (op0)) == SImode
> +           || GET_MODE (SUBREG_REG (op0)) == DImode)))
>      return true;
>  
>    return false;
> 
> fixes the ICE for the original and reduced test case 59185 here.

Thanks, trying this now. FWIW, all the other languages are not affected by this
ICE.

Reply via email to