This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
S/390: Fix bootstrap with --with-arch=z990
- From: Ulrich Weigand <uweigand at de dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 25 Nov 2004 18:28:36 +0100 (CET)
- Subject: S/390: Fix bootstrap with --with-arch=z990
Hello,
I just noticed that bootstrap with --with-arch=z990 on s390-ibm-linux
no longer works. Fixed by the following patch that ensures s390_load_address
is used to load addresses.
Bootstrapped/regtested on s390-ibm-linux and s390x-ibm-linux
(with --with-arch=z990), committed to mainline.
Bye,
Ulrich
ChangeLog:
* config/s390/s390.c (legitimize_pic_address): Use s390_load_address
to load addresses.
Index: gcc/config/s390/s390.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/s390/s390.c,v
retrieving revision 1.203
diff -c -p -r1.203 s390.c
*** gcc/config/s390/s390.c 23 Nov 2004 17:39:56 -0000 1.203
--- gcc/config/s390/s390.c 25 Nov 2004 14:57:06 -0000
*************** legitimize_pic_address (rtx orig, rtx re
*** 2810,2816 ****
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
if (reg != 0)
{
! emit_move_insn (reg, new);
new = reg;
}
}
--- 2811,2817 ----
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
if (reg != 0)
{
! s390_load_address (reg, new);
new = reg;
}
}
*************** legitimize_pic_address (rtx orig, rtx re
*** 2919,2925 ****
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
if (reg != 0)
{
! emit_move_insn (reg, new);
new = reg;
}
}
--- 2920,2926 ----
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
if (reg != 0)
{
! s390_load_address (reg, new);
new = reg;
}
}
*************** legitimize_pic_address (rtx orig, rtx re
*** 2963,2969 ****
if (reg != 0)
{
! emit_move_insn (reg, new);
new = reg;
}
}
--- 2964,2970 ----
if (reg != 0)
{
! s390_load_address (reg, new);
new = reg;
}
}
*************** legitimize_pic_address (rtx orig, rtx re
*** 2992,2998 ****
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
if (reg != 0)
{
! emit_move_insn (reg, new);
new = reg;
}
}
--- 2993,2999 ----
new = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, temp);
if (reg != 0)
{
! s390_load_address (reg, new);
new = reg;
}
}
--
Dr. Ulrich Weigand
Linux on zSeries Development
Ulrich.Weigand@de.ibm.com