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.