From: Richard Henderson Date: Fri, 21 Dec 2001 00:22:39 +0000 (-0800) Subject: alpha.c (call_operand): Accept pseudos. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=002d2e0b80007f11f8502f7e61d502c64c93e6c5;p=gcc.git alpha.c (call_operand): Accept pseudos. * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos. * config/alpha/alpha.md (call_osf, call_value_osf): Don't force operand into $27. From-SVN: r48225 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index faecc947560..487302cea7c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2001-12-20 Richard Henderson + + * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos. + * config/alpha/alpha.md (call_osf, call_value_osf): Don't force + operand into $27. + 2001-12-20 Joseph S. Myers * configure.in (all_headers, all_lib2funcs): Remove. diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 2588f5f4371..ce5b58e72f5 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1008,7 +1008,7 @@ call_operand (op, mode) if (GET_CODE (op) == REG) { if (TARGET_ABI_OSF) - return REGNO (op) == 27; + return (REGNO (op) == 27 || REGNO (op) >= FIRST_PSEUDO_REGISTER); else return 1; } diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md index 822712fe5c0..a3ac64be094 100644 --- a/gcc/config/alpha/alpha.md +++ b/gcc/config/alpha/alpha.md @@ -4602,11 +4602,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" operands[0] = XEXP (operands[0], 0); if (! call_operand (operands[0], Pmode)) - { - rtx pv = gen_rtx_REG (Pmode, 27); - emit_move_insn (pv, operands[0]); - operands[0] = pv; - } + operands[0] = copy_to_mode_reg (Pmode, operands[0]); }) (define_expand "call_nt" @@ -4735,11 +4731,7 @@ fadd,fmul,fcpys,fdiv,fsqrt,misc,mvi,ftoi,itof,multi" operands[1] = XEXP (operands[1], 0); if (! call_operand (operands[1], Pmode)) - { - rtx pv = gen_rtx_REG (Pmode, 27); - emit_move_insn (pv, operands[1]); - operands[1] = pv; - } + operands[1] = copy_to_mode_reg (Pmode, operands[1]); }) (define_expand "call_value_nt"