diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 1996-10-23 22:02:32 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 1996-10-23 22:02:32 +0000 |
commit | b85f21c09b2fe45d9aa742a14b6e1e43ed3a042b (patch) | |
tree | cab689b470945c0cabab1f8cea131e2102aaebd5 /gcc/recog.c | |
parent | ff428c90a4e07be5b2d9398a3555a05628a49290 (diff) | |
download | gcc-b85f21c09b2fe45d9aa742a14b6e1e43ed3a042b.zip gcc-b85f21c09b2fe45d9aa742a14b6e1e43ed3a042b.tar.gz gcc-b85f21c09b2fe45d9aa742a14b6e1e43ed3a042b.tar.bz2 |
Accept a unary operator in constrain_operands
From-SVN: r13017
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 1322f41..3c7d14c 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -1,5 +1,5 @@ /* Subroutines used by or related to instruction recognition. - Copyright (C) 1987, 88, 91, 92, 93, 1994 Free Software Foundation, Inc. + Copyright (C) 1987, 88, 91-5, 1996 Free Software Foundation, Inc. This file is part of GNU CC. @@ -1652,6 +1652,11 @@ constrain_operands (insn_code_num, strict) earlyclobber[opno] = 0; + /* A unary operator may be accepted by the predicate, but it + is irrelevant for matching contraints. */ + if (GET_RTX_CLASS (GET_CODE (op)) == '1') + op = XEXP (op, 0); + if (GET_CODE (op) == SUBREG) { if (GET_CODE (SUBREG_REG (op)) == REG |