Commit cf606f45 by Jim Wilson Committed by Jim Wilson

Fix bad use of FP reg in post-modify address.

	* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
	(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
	(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
	(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.

From-SVN: r36640
parent a94c1199
2000-09-25 Jim Wilson <wilson@cygnus.com>
* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net> Tue 26-Sep-2000 00:16:22 BST Neil Booth <neilb@earthling.net>
* cpplex.c (parse_args): Don't set VOID_REST flag. * cpplex.c (parse_args): Don't set VOID_REST flag.
......
...@@ -978,8 +978,8 @@ enum reg_class ...@@ -978,8 +978,8 @@ enum reg_class
/* A macro whose definition is the name of the class to which a valid index /* A macro whose definition is the name of the class to which a valid index
register must belong. An index register is one used in an address where its register must belong. An index register is one used in an address where its
value is either multiplied by a scale factor or added to another register value is either multiplied by a scale factor or added to another register
(as well as added to a displacement). */ (as well as added to a displacement). This is needed for POST_MODIFY. */
#define INDEX_REG_CLASS NO_REGS #define INDEX_REG_CLASS GENERAL_REGS
/* A C expression which defines the machine-dependent operand constraint /* A C expression which defines the machine-dependent operand constraint
letters for register classes. If CHAR is such a letter, the value should be letters for register classes. If CHAR is such a letter, the value should be
...@@ -1004,8 +1004,9 @@ enum reg_class ...@@ -1004,8 +1004,9 @@ enum reg_class
/* A C expression which is nonzero if register number NUM is suitable for use /* A C expression which is nonzero if register number NUM is suitable for use
as an index register in operand addresses. It may be either a suitable hard as an index register in operand addresses. It may be either a suitable hard
register or a pseudo register that has been allocated such a hard reg. */ register or a pseudo register that has been allocated such a hard reg.
#define REGNO_OK_FOR_INDEX_P(NUM) 0 This is needed for POST_MODIFY. */
#define REGNO_OK_FOR_INDEX_P(NUM) REGNO_OK_FOR_BASE_P (NUM)
/* A C expression that places additional restrictions on the register class to /* A C expression that places additional restrictions on the register class to
use when it is necessary to copy value X into a register in class CLASS. use when it is necessary to copy value X into a register in class CLASS.
...@@ -1743,7 +1744,7 @@ do { \ ...@@ -1743,7 +1744,7 @@ do { \
#define LEGITIMATE_ADDRESS_DISP(R, X) \ #define LEGITIMATE_ADDRESS_DISP(R, X) \
(GET_CODE (X) == PLUS \ (GET_CODE (X) == PLUS \
&& rtx_equal_p (R, XEXP (X, 0)) \ && rtx_equal_p (R, XEXP (X, 0)) \
&& (GET_CODE (XEXP (X, 1)) == REG \ && (LEGITIMATE_ADDRESS_REG (XEXP (X, 1)) \
|| (GET_CODE (XEXP (X, 1)) == CONST_INT \ || (GET_CODE (XEXP (X, 1)) == CONST_INT \
&& INTVAL (XEXP (X, 1)) >= -256 \ && INTVAL (XEXP (X, 1)) >= -256 \
&& INTVAL (XEXP (X, 1)) < 256))) && INTVAL (XEXP (X, 1)) < 256)))
...@@ -1774,9 +1775,9 @@ do { \ ...@@ -1774,9 +1775,9 @@ do { \
#endif #endif
/* A C expression that is nonzero if X (assumed to be a `reg' RTX) is valid for /* A C expression that is nonzero if X (assumed to be a `reg' RTX) is valid for
use as an index register. */ use as an index register. This is needed for POST_MODIFY. */
#define REG_OK_FOR_INDEX_P(X) 0 #define REG_OK_FOR_INDEX_P(X) REG_OK_FOR_BASE_P (X)
/* A C compound statement that attempts to replace X with a valid memory /* A C compound statement that attempts to replace X with a valid memory
address for an operand of mode MODE. address for an operand of mode MODE.
......
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