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

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2018-02-01
           Assignee|unassigned at gcc dot gnu.org      |ubizjak at gmail dot com
   Target Milestone|---                         |8.0
     Ever confirmed|0                           |1

--- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> ---
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--

Reply via email to