OSDN Git Service

* recog.c (constrain_operands, case 'V'): Don't call
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Mar 1996 00:08:58 +0000 (00:08 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 12 Mar 1996 00:08:58 +0000 (00:08 +0000)
        offsettable_memref_p before reload has completed.

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

gcc/recog.c

index 745d628..c70320f 100644 (file)
@@ -1862,7 +1862,12 @@ constrain_operands (insn_code_num, strict)
 
              case 'V':
                if (GET_CODE (op) == MEM
-                   && ! offsettable_memref_p (op))
+                   && ((strict > 0 && ! offsettable_memref_p (op))
+                       || (strict < 0
+                           && !(CONSTANT_P (op) || GET_CODE (op) == MEM))
+                       || (reload_in_progress
+                           && !(GET_CODE (op) == REG
+                                && REGNO (op) >= FIRST_PSEUDO_REGISTER))))
                  win = 1;
                break;