Commit c21242e8 by Roger Sayle Committed by Roger Sayle

re PR target/16641 (fr30-elf-gcc compiler error when building newlib-1.12.0)


	PR target/16641
	* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
	STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
	rtx to stack_pointer_rtx or frame_pointer_rtx directly.

From-SVN: r113196
parent 05a2763e
2006-04-23 Roger Sayle <roger@eyesopen.com>
PR target/16641
* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
rtx to stack_pointer_rtx or frame_pointer_rtx directly.
2006-04-23 Eric Botcazou <ebotcazou@adacore.com> 2006-04-23 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (range_predecessor): Use operand_equal_p * fold-const.c (range_predecessor): Use operand_equal_p
......
...@@ -842,13 +842,15 @@ do \ ...@@ -842,13 +842,15 @@ do \
goto LABEL; \ goto LABEL; \
if (GET_CODE (X) == PLUS \ if (GET_CODE (X) == PLUS \
&& ((MODE) == SImode || (MODE) == SFmode) \ && ((MODE) == SImode || (MODE) == SFmode) \
&& XEXP (X, 0) == stack_pointer_rtx \ && GET_CODE (XEXP (X, 0)) == REG \
&& REGNO (XEXP (X, 0)) == STACK_POINTER_REGNUM \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && GET_CODE (XEXP (X, 1)) == CONST_INT \
&& IN_RANGE (INTVAL (XEXP (X, 1)), 0, (1 << 6) - 4)) \ && IN_RANGE (INTVAL (XEXP (X, 1)), 0, (1 << 6) - 4)) \
goto LABEL; \ goto LABEL; \
if (GET_CODE (X) == PLUS \ if (GET_CODE (X) == PLUS \
&& ((MODE) == SImode || (MODE) == SFmode) \ && ((MODE) == SImode || (MODE) == SFmode) \
&& XEXP (X, 0) == frame_pointer_rtx \ && GET_CODE (XEXP (X, 0)) == REG \
&& REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && GET_CODE (XEXP (X, 1)) == CONST_INT \
&& IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 << 9) - 4)) \ && IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 << 9) - 4)) \
goto LABEL; \ goto LABEL; \
...@@ -862,15 +864,16 @@ do \ ...@@ -862,15 +864,16 @@ do \
goto LABEL; \ goto LABEL; \
if (GET_CODE (X) == PLUS \ if (GET_CODE (X) == PLUS \
&& ((MODE) == SImode || (MODE) == SFmode) \ && ((MODE) == SImode || (MODE) == SFmode) \
&& XEXP (X, 0) == stack_pointer_rtx \ && GET_CODE (XEXP (X, 0)) == REG \
&& REGNO (XEXP (X, 0)) == STACK_POINTER_REGNUM \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && GET_CODE (XEXP (X, 1)) == CONST_INT \
&& IN_RANGE (INTVAL (XEXP (X, 1)), 0, (1 << 6) - 4)) \ && IN_RANGE (INTVAL (XEXP (X, 1)), 0, (1 << 6) - 4)) \
goto LABEL; \ goto LABEL; \
if (GET_CODE (X) == PLUS \ if (GET_CODE (X) == PLUS \
&& ((MODE) == SImode || (MODE) == SFmode) \ && ((MODE) == SImode || (MODE) == SFmode) \
&& GET_CODE (XEXP (X, 0)) == REG \ && GET_CODE (XEXP (X, 0)) == REG \
&& (REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM \ && (REGNO (XEXP (X, 0)) == FRAME_POINTER_REGNUM \
|| REGNO (XEXP (X, 0)) == ARG_POINTER_REGNUM) \ || REGNO (XEXP (X, 0)) == ARG_POINTER_REGNUM) \
&& GET_CODE (XEXP (X, 1)) == CONST_INT \ && GET_CODE (XEXP (X, 1)) == CONST_INT \
&& IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 << 9) - 4)) \ && IN_RANGE (INTVAL (XEXP (X, 1)), -(1 << 9), (1 << 9) - 4)) \
goto LABEL; \ goto LABEL; \
......
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