diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-10-11 21:50:58 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2010-10-11 21:50:58 +0000 |
commit | 2c8865f1c135dd460121a6fcb87e1d18bda72ada (patch) | |
tree | 081a17eceadb29be485dc2d40f8f4b59059f4305 /gcc/recog.c | |
parent | 63835102f4bfc417c7d09ad7c79ef468d2ac8d69 (diff) | |
download | gcc-2c8865f1c135dd460121a6fcb87e1d18bda72ada.zip gcc-2c8865f1c135dd460121a6fcb87e1d18bda72ada.tar.gz gcc-2c8865f1c135dd460121a6fcb87e1d18bda72ada.tar.bz2 |
recog.c (nonmemory_operand): Call immediate_operand for CONSTANT_P operands.
* recog.c (nonmemory_operand): Call immediate_operand for
CONSTANT_P operands.
From-SVN: r165334
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 368783f..e16a85c 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -1158,24 +1158,7 @@ int nonmemory_operand (rtx op, enum machine_mode mode) { if (CONSTANT_P (op)) - { - /* Don't accept CONST_INT or anything similar - if the caller wants something floating. */ - if (GET_MODE (op) == VOIDmode && mode != VOIDmode - && GET_MODE_CLASS (mode) != MODE_INT - && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT) - return 0; - - if (CONST_INT_P (op) - && mode != VOIDmode - && trunc_int_for_mode (INTVAL (op), mode) != INTVAL (op)) - return 0; - - return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode - || mode == VOIDmode) - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) - && LEGITIMATE_CONSTANT_P (op)); - } + return immediate_operand (op, mode); if (GET_MODE (op) != mode && mode != VOIDmode) return 0; |