https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84157
--- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> --- (In reply to Uroš Bizjak from comment #3) > Oops. > > --cut here-- > diff --git a/gcc/combine.c b/gcc/combine.c > index 970dd26..a9929f2 100644 > --- a/gcc/combine.c > +++ b/gcc/combine.c > @@ -11483,7 +11483,7 @@ change_zero_ext (rtx pat) > > if (mode != inner_mode) > { > - if (HARD_REGISTER_P (x) > + if (REG_P (x) && HARD_REGISTER_P (x) > && !can_change_dest_mode (x, 0, mode)) > continue; > > @@ -11501,7 +11501,7 @@ change_zero_ext (rtx pat) > x = SUBREG_REG (XEXP (x, 0)); > if (GET_MODE (x) != mode) > { > - if (HARD_REGISTER_P (x) > + if (REG_P (x) && HARD_REGISTER_P (x) > && !can_change_dest_mode (x, 0, mode)) > continue; > > --cut here-- After rebuilding cc1 with the patch in place, the ICE no longer occurs on the attached test-case. I'll do a build and test run with this patch (which in the case of the setup where I encountered the ICE means building host and accelerator compiler and running libgomp testsuite), and report back.