fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to identify potentially eliminable registers to...

* config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
	identify potentially eliminable registers to additionally catch
	VIRTUAL_INCOMING_ARGS_REGNUM.
	(addsi3): Update the conditions on when to use addsi_small_int.

From-SVN: r113197
This commit is contained in:
Roger Sayle 2006-04-23 17:39:54 +00:00 committed by Roger Sayle
parent c21242e8e0
commit a02ee5b2cf
2 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2006-04-23 Roger Sayle <roger@eyesopen.com>
* config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
identify potentially eliminable registers to additionally catch
VIRTUAL_INCOMING_ARGS_REGNUM.
(addsi3): Update the conditions on when to use addsi_small_int.
2006-04-23 Roger Sayle <roger@eyesopen.com>
PR target/16641

View File

@ -654,10 +654,10 @@
emit_insn (gen_addsi_regs (operands[0], operands[1], operands[2]));
else if (GET_CODE (operands[2]) != CONST_INT)
emit_insn (gen_addsi_big_int (operands[0], operands[1], operands[2]));
else if ( (REGNO (operands[1]) != FRAME_POINTER_REGNUM)
&& (REGNO (operands[1]) != ARG_POINTER_REGNUM)
&& (INTVAL (operands[2]) >= -16)
&& (INTVAL (operands[2]) <= 15))
else if (INTVAL (operands[2]) >= -16
&& INTVAL (operands[2]) <= 15
&& (!REGNO_PTR_FRAME_P (REGNO (operands[1]))
|| REGNO (operands[1]) == STACK_POINTER_REGNUM))
emit_insn (gen_addsi_small_int (operands[0], operands[1], operands[2]));
else
emit_insn (gen_addsi_big_int (operands[0], operands[1], operands[2]));
@ -680,8 +680,8 @@
[(set (match_operand:SI 0 "register_operand" "=r,r")
(plus:SI (match_operand:SI 1 "register_operand" "0,0")
(match_operand:SI 2 "add_immediate_operand" "I,J")))]
" (REGNO (operands[1]) != FRAME_POINTER_REGNUM)
&& (REGNO (operands[1]) != ARG_POINTER_REGNUM)"
"! REGNO_PTR_FRAME_P (REGNO (operands[1]))
|| REGNO (operands[1]) == STACK_POINTER_REGNUM"
"@
addn %2, %0
addn2 %2, %0"