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
This commit is contained in:
Nathan Froyd 2010-10-11 21:50:58 +00:00 committed by Nathan Froyd
parent 63835102f4
commit 2c8865f1c1
2 changed files with 6 additions and 18 deletions

View File

@ -1,3 +1,8 @@
2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
* recog.c (nonmemory_operand): Call immediate_operand for
CONSTANT_P operands.
2010-10-11 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (movmem<mode>): Macroize expander from

View File

@ -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;