+2001-12-20 Richard Henderson <rth@redhat.com>
+
+ * 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 <jsm28@cam.ac.uk>
* configure.in (all_headers, all_lib2funcs): Remove.
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"
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"