summaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 19:25:01 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-12 19:25:01 +0000
commitb4cab6749ba18cf0b3a3c1bd01085cfe94616c3b (patch)
tree2b77880a4930b3a58042e9b269e3e3e5e97d7b8f /gcc/recog.c
parent77d3568815aaad6487a295a42e0fce17c1c71b19 (diff)
downloadgcc-b4cab6749ba18cf0b3a3c1bd01085cfe94616c3b.tar.gz
2010-10-12 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 165392 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@165394 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c19
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;