Commit 2c8865f1 by Nathan Froyd Committed by Nathan Froyd

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
parent 63835102
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> 2010-10-11 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (movmem<mode>): Macroize expander from * config/i386/i386.md (movmem<mode>): Macroize expander from
...@@ -1158,24 +1158,7 @@ int ...@@ -1158,24 +1158,7 @@ int
nonmemory_operand (rtx op, enum machine_mode mode) nonmemory_operand (rtx op, enum machine_mode mode)
{ {
if (CONSTANT_P (op)) if (CONSTANT_P (op))
{ return immediate_operand (op, mode);
/* 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));
}
if (GET_MODE (op) != mode && mode != VOIDmode) if (GET_MODE (op) != mode && mode != VOIDmode)
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment