From: Ulrich Weigand Date: Thu, 12 Jun 2003 13:47:52 +0000 (+0000) Subject: s390.c (s390_emit_prologue): Use LA instead of AR to initialize GOT register. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=109480b1c5e848f7411da6caad8dad560e66d13a;p=gcc.git s390.c (s390_emit_prologue): Use LA instead of AR to initialize GOT register. * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR to initialize GOT register. From-SVN: r67829 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87d86d7217d..ece54b6447c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-12 Ulrich Weigand + + * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR + to initialize GOT register. + 2003-06-12 Roger Sayle * fold-const.c (tree_expr_nonnegative_p): Add support for diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 43d63dab8a6..6b42699bc20 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -5497,8 +5497,10 @@ s390_emit_prologue () REG_NOTES(insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, NULL_RTX, REG_NOTES (insn)); - insn = emit_insn (gen_add2_insn (pic_offset_table_rtx, - gen_rtx_REG (Pmode, BASE_REGISTER))); + got_symbol = gen_rtx_REG (Pmode, BASE_REGISTER); + got_symbol = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, got_symbol), 101); + got_symbol = gen_rtx_PLUS (Pmode, got_symbol, pic_offset_table_rtx); + insn = emit_move_insn (pic_offset_table_rtx, got_symbol); REG_NOTES(insn) = gen_rtx_EXPR_LIST (REG_MAYBE_DEAD, NULL_RTX, REG_NOTES (insn)); }