aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1996-03-11 17:08:58 -0700
committerJeff Law <law@gcc.gnu.org>1996-03-11 17:08:58 -0700
commit69f724c026d53ceefe3eaad1c8d522a4fb0e3acc (patch)
treeaff480a7170c04ec4807dba7067ec57dccf4ce4d /gcc/recog.c
parent269c14e111ebc7745eda1a98585078ccd622fb82 (diff)
downloadgcc-69f724c026d53ceefe3eaad1c8d522a4fb0e3acc.zip
gcc-69f724c026d53ceefe3eaad1c8d522a4fb0e3acc.tar.gz
gcc-69f724c026d53ceefe3eaad1c8d522a4fb0e3acc.tar.bz2
recog.c (constrain_operands, case 'V'): Don't call offsettable_memref_p before reload has completed.
* recog.c (constrain_operands, case 'V'): Don't call offsettable_memref_p before reload has completed. From-SVN: r11515
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 745d628..c70320f 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -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;