[multiple changes]
2002-02-19 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set really_call_used[VRSAVE_REGNO] if not Altivec. 2002-02-19 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with MODE_MASK. (constant_pool_expr_1): Fix formatting. (rs6000_legitimize_reload_address): Likewise. From-SVN: r49890
This commit is contained in:
parent
d1cfac5b6e
commit
c1f1154803
|
@ -1,3 +1,15 @@
|
||||||
|
2002-02-19 David Edelsohn <edelsohn@gnu.org>
|
||||||
|
|
||||||
|
* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
|
||||||
|
really_call_used[VRSAVE_REGNO] if not Altivec.
|
||||||
|
|
||||||
|
2002-02-19 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
|
||||||
|
MODE_MASK.
|
||||||
|
(constant_pool_expr_1): Fix formatting.
|
||||||
|
(rs6000_legitimize_reload_address): Likewise.
|
||||||
|
|
||||||
Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||||
|
|
||||||
* config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
|
* config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
|
||||||
|
|
|
@ -769,7 +769,7 @@ u_short_cint_operand (op, mode)
|
||||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||||
{
|
{
|
||||||
return (GET_CODE (op) == CONST_INT
|
return (GET_CODE (op) == CONST_INT
|
||||||
&& CONST_OK_FOR_LETTER_P (INTVAL (op), 'K'));
|
&& CONST_OK_FOR_LETTER_P (INTVAL (op) & GET_MODE_MASK (mode), 'K'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return 1 if OP is a CONST_INT that cannot fit in a signed D field. */
|
/* Return 1 if OP is a CONST_INT that cannot fit in a signed D field. */
|
||||||
|
@ -1711,8 +1711,8 @@ constant_pool_expr_1 (op, have_sym, have_toc)
|
||||||
return 0;
|
return 0;
|
||||||
case PLUS:
|
case PLUS:
|
||||||
case MINUS:
|
case MINUS:
|
||||||
return constant_pool_expr_1 (XEXP (op, 0), have_sym, have_toc) &&
|
return (constant_pool_expr_1 (XEXP (op, 0), have_sym, have_toc)
|
||||||
constant_pool_expr_1 (XEXP (op, 1), have_sym, have_toc);
|
&& constant_pool_expr_1 (XEXP (op, 1), have_sym, have_toc));
|
||||||
case CONST:
|
case CONST:
|
||||||
return constant_pool_expr_1 (XEXP (op, 0), have_sym, have_toc);
|
return constant_pool_expr_1 (XEXP (op, 0), have_sym, have_toc);
|
||||||
case CONST_INT:
|
case CONST_INT:
|
||||||
|
@ -1960,8 +1960,8 @@ rs6000_legitimize_reload_address (x, mode, opnum, type, ind_levels, win)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (TARGET_TOC
|
if (TARGET_TOC
|
||||||
&& CONSTANT_POOL_EXPR_P (x)
|
&& CONSTANT_POOL_EXPR_P (x)
|
||||||
&& ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (x), mode))
|
&& ASM_OUTPUT_SPECIAL_POOL_ENTRY_P (get_pool_constant (x), mode))
|
||||||
{
|
{
|
||||||
(x) = create_TOC_reference (x);
|
(x) = create_TOC_reference (x);
|
||||||
*win = 1;
|
*win = 1;
|
||||||
|
|
|
@ -970,8 +970,11 @@ extern int rs6000_altivec_abi;
|
||||||
= call_used_regs[PIC_OFFSET_TABLE_REGNUM] \
|
= call_used_regs[PIC_OFFSET_TABLE_REGNUM] \
|
||||||
= call_really_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
|
= call_really_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
|
||||||
if (! TARGET_ALTIVEC) \
|
if (! TARGET_ALTIVEC) \
|
||||||
for (i = FIRST_ALTIVEC_REGNO; i <= LAST_ALTIVEC_REGNO; ++i) \
|
{ \
|
||||||
fixed_regs[i] = call_used_regs[i] = call_really_used_regs[i] = 1; \
|
for (i = FIRST_ALTIVEC_REGNO; i <= LAST_ALTIVEC_REGNO; ++i) \
|
||||||
|
fixed_regs[i] = call_used_regs[i] = call_really_used_regs[i] = 1; \
|
||||||
|
call_really_used_regs[VRSAVE_REGNO] = 1; \
|
||||||
|
} \
|
||||||
if (TARGET_ALTIVEC_ABI) \
|
if (TARGET_ALTIVEC_ABI) \
|
||||||
for (i = FIRST_ALTIVEC_REGNO; i < FIRST_ALTIVEC_REGNO + 20; ++i) \
|
for (i = FIRST_ALTIVEC_REGNO; i < FIRST_ALTIVEC_REGNO + 20; ++i) \
|
||||||
call_used_regs[i] = call_really_used_regs[i] = 1; \
|
call_used_regs[i] = call_really_used_regs[i] = 1; \
|
||||||
|
|
Loading…
Reference in New Issue