diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b538be51f2f..ef262741d52 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Apr 7 02:11:55 1999 Richard Henderson + + * expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use + copy_to_mode_reg; don't force constants into a register. + Tue Apr 6 22:55:25 1999 Richard Henderson * toplev.c (compile_file): Typo flow_dump -> flow2_dump. diff --git a/gcc/expr.c b/gcc/expr.c index 8d5fa10b4cb..d7f87c5743f 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -9131,8 +9131,9 @@ expand_builtin (exp, target, subtarget, mode, ignore) if (DECL_FUNCTION_CODE (fndecl) == BUILT_IN_FRAME_ADDRESS) return tem; - if (GET_CODE (tem) != REG) - tem = copy_to_reg (tem); + if (GET_CODE (tem) != REG + && ! CONSTANT_P (tem)) + tem = copy_to_mode_reg (Pmode, tem); return tem; }