alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change -- make sure FP_BASE_P registers are only used with an integer.

* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
        make sure FP_BASE_P registers are only used with an integer.

From-SVN: r26531
This commit is contained in:
Richard Henderson 1999-04-17 17:10:06 -07:00 committed by Richard Henderson
parent 5d02b6c261
commit 6fab83fdbf
2 changed files with 20 additions and 14 deletions

View File

@ -1,3 +1,8 @@
Sun Apr 18 00:08:45 1999 Richard Henderson <rth@cygnus.com>
* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
make sure FP_BASE_P registers are only used with an integer.
Sat Apr 17 22:54:17 1999 Richard Henderson <rth@cygnus.com>
* alpha.h (REG_OK_FP_BASE_P): New macro.

View File

@ -1426,20 +1426,21 @@ extern void alpha_init_expanders ();
First define the basic valid address. */
#define GO_IF_LEGITIMATE_SIMPLE_ADDRESS(MODE, X, ADDR) \
{ if (REG_P (X) && REG_OK_FOR_BASE_P (X)) \
goto ADDR; \
if (CONSTANT_ADDRESS_P (X)) \
goto ADDR; \
if (GET_CODE (X) == PLUS \
&& REG_P (XEXP (X, 0))) \
{ \
if (REG_OK_FP_BASE_P (XEXP (X, 0))) \
goto ADDR; \
if (REG_OK_FOR_BASE_P (XEXP (X, 0)) \
&& CONSTANT_ADDRESS_P (XEXP (X, 1))) \
goto ADDR; \
} \
#define GO_IF_LEGITIMATE_SIMPLE_ADDRESS(MODE, X, ADDR) \
{ if (REG_P (X) && REG_OK_FOR_BASE_P (X)) \
goto ADDR; \
if (CONSTANT_ADDRESS_P (X)) \
goto ADDR; \
if (GET_CODE (X) == PLUS \
&& REG_P (XEXP (X, 0))) \
{ \
if (REG_OK_FP_BASE_P (XEXP (X, 0)) \
&& GET_CODE (XEXP (X, 1)) == CONST_INT) \
goto ADDR; \
if (REG_OK_FOR_BASE_P (XEXP (X, 0)) \
&& CONSTANT_ADDRESS_P (XEXP (X, 1))) \
goto ADDR; \
} \
}
/* Now accept the simple address, or, for DImode only, an AND of a simple