OSDN Git Service

(constrain_operands, case 'r'): If STRICT, a REG isn't valid if it is
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Feb 1993 20:12:16 +0000 (20:12 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Feb 1993 20:12:16 +0000 (20:12 +0000)
a pseudo even if GENERAL_REGS == ALL_REGS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3542 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/recog.c

index b66cb2c..6c869d9 100644 (file)
@@ -1739,7 +1739,8 @@ constrain_operands (insn_code_num, strict)
                        && REGNO (op) >= FIRST_PSEUDO_REGISTER)
                    || (strict == 0 && GET_CODE (op) == SCRATCH)
                    || (GET_CODE (op) == REG
-                       && (GENERAL_REGS == ALL_REGS
+                       && ((GENERAL_REGS == ALL_REGS
+                            && REGNO (op) < FIRST_PSEUDO_REGISTER)
                            || reg_fits_class_p (op, GENERAL_REGS,
                                                 offset, mode))))
                  win = 1;