This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]