Commit f416f18c by Michael Hayes Committed by Michael Hayes

c4x.c (dst_operand): New.

	* config/c4x/c4x.c (dst_operand): New.
	(PREDICATE_CODES): Update.
	* config/c4x/c4x.h (dst_operand): Declare it.
	* config/c4x/c4x.md:  Define mode for each unspec usage.
	(move patterns):  Use dst_operand predicate instead of src_operand.
	(movqi_update, movqf_update): Delete.

From-SVN: r29996
parent 556ffcc5
Fri Oct 15 17:27:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
* config/c4x/c4x.c (dst_operand): New.
(PREDICATE_CODES): Update.
* config/c4x/c4x.h (dst_operand): Declare it.
* config/c4x/c4x.md: Define mode for each unspec usage.
(move patterns): Use dst_operand predicate instead of src_operand.
(movqi_update, movqf_update): Delete.
Thu Oct 14 18:48:54 1999 Richard Henderson <rth@cygnus.com>
* recog.c (pmode_register_operand): New.
......
......@@ -3060,8 +3060,24 @@ symbolic_address_operand (op, mode)
}
/* Check src operand of two operand arithmetic instructions. */
/* Check dst operand of a move instruction. */
int
dst_operand (op, mode)
rtx op;
enum machine_mode mode;
{
if (GET_CODE (op) == SUBREG
&& mixed_subreg_operand (op, mode))
return 0;
if (REG_P (op))
return reg_operand (op, mode);
return memory_operand (op, mode);
}
/* Check src operand of two operand arithmetic instructions. */
int
src_operand (op, mode)
rtx op;
......
......@@ -2594,6 +2594,7 @@ if (final_sequence != NULL_RTX) \
{"st_reg_operand", {REG}}, \
{"rc_reg_operand", {REG}}, \
{"call_address_operand", {REG, SYMBOL_REF, LABEL_REF, CONST}}, \
{"dst_operand", {SUBREG, REG, MEM}}, \
{"src_operand", {SUBREG, REG, MEM, CONST_INT, CONST_DOUBLE}}, \
{"src_hi_operand", {SUBREG, REG, MEM, CONST_DOUBLE}}, \
{"lsrc_operand", {SUBREG, REG, MEM, CONST_INT, CONST_DOUBLE}}, \
......@@ -2674,6 +2675,8 @@ extern int ext_reg_operand ();
extern int std_reg_operand ();
extern int dst_operand ();
extern int src_operand ();
extern int src_hi_operand ();
......
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