Commit c1f11548 by David Edelsohn

[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
parent d1cfac5b
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) ...@@ -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) ...@@ -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) ...@@ -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; ...@@ -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; \
......
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