diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-10-11 21:50:58 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@codesourcery.com> | 2010-10-11 21:50:58 +0000 |
commit | 9db186cd34362daab7eb5910fdb5501f2bedd71e (patch) | |
tree | 081a17eceadb29be485dc2d40f8f4b59059f4305 /gcc/recog.c | |
parent | 63554365fc31456b5d12d7dc86348bcc55827d86 (diff) |
* recog.c (nonmemory_operand): Call immediate_operand for
CONSTANT_P operands.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@165334 138bc75d-0d04-0410-961f-82ee72b054a4
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 368783ff570..e16a85cc4ea 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; |