[Bug rtl-optimization/84157] [8 Regression] [nvptx] ICE: RTL check: expected code 'reg', have 'lshiftrt'
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 1 08:16:00 GMT 2018
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.
More information about the Gcc-bugs
mailing list