reload.c (push_secondary_reload): Don't check for "=" in output constraint after...
authorRichard Henderson <rth@redhat.com>
Fri, 21 Sep 2001 21:06:18 +0000 (14:06 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 21 Sep 2001 21:06:18 +0000 (14:06 -0700)
        * reload.c (push_secondary_reload): Don't check for "=" in output
        constraint after ""->ALL_REGS check.

From-SVN: r45739

gcc/ChangeLog
gcc/reload.c

index ceda15c5b4f780a47efef0bb3b80649c97afb5a6..be9aee1122fb3022fa04d7539e147333c346bd99 100644 (file)
@@ -1,3 +1,8 @@
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * reload.c (push_secondary_reload): Don't check for "=" in output
+       constraint after ""->ALL_REGS check.
+
 2001-09-21  Richard Henderson  <rth@redhat.com>
 
        * predict.c (expected_value_to_br_prob): Use pc_set.
index 99e4c6ec0273a2e8d2bf2741c7d959bb3746494b..8e6d2b3afbf491acd29052f9ae881449bf4d88f8 100644 (file)
@@ -381,13 +381,16 @@ push_secondary_reload (in_p, x, opnum, optional, reload_class, reload_mode,
          insn_class
            = (insn_letter == 'r' ? GENERAL_REGS
               : REG_CLASS_FROM_LETTER ((unsigned char) insn_letter));
-       }
 
-      if (insn_class == NO_REGS
-         || (in_p
+          if (insn_class == NO_REGS)
+           abort ();
+         if (in_p
              && insn_data[(int) icode].operand[!in_p].constraint[0] != '=')
-         /* The scratch register's constraint must start with "=&".  */
-         || insn_data[(int) icode].operand[2].constraint[0] != '='
+           abort ();
+       }
+
+      /* The scratch register's constraint must start with "=&".  */
+      if (insn_data[(int) icode].operand[2].constraint[0] != '='
          || insn_data[(int) icode].operand[2].constraint[1] != '&')
        abort ();