2018-02-01  Uros Bizjak  <ubiz...@gmail.com>

    PR rtl-optimization/84157
    * combine.c (change_zero_ext): Use REG_P predicate in
    front of HARD_REGISTER_P predicate.

Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.

Committed to mainline SVN.

Uros.
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;
 

Reply via email to