From 1cc277aa11338da1cf3e307aaa48102e6f777e22 Mon Sep 17 00:00:00 2001 From: uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Thu, 12 Jun 2003 13:47:52 +0000 Subject: [PATCH] * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR to initialize GOT register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67829 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/s390/s390.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87d86d7217d5..ece54b6447c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-12 Ulrich Weigand <uweigand@de.ibm.com> + + * config/s390/s390.c (s390_emit_prologue): Use LA instead of AR + to initialize GOT register. + 2003-06-12 Roger Sayle <roger@eyesopen.com> * 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 43d63dab8a6a..6b42699bc202 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)); } -- GitLab