rpms/gcc/devel gcc41-s390-ldbl.patch,1.3,1.4 gcc41.spec,1.20,1.21

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Feb 1 18:38:21 UTC 2006


Author: jakub

Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv28428

Modified Files:
	gcc41-s390-ldbl.patch gcc41.spec 
Log Message:
4.1.0-0.19


gcc41-s390-ldbl.patch:
 config/s390/2084.md          |   44 +++
 config/s390/fixdfdi.h        |  151 ++++++++++++
 config/s390/libgcc-glibc.ver |   33 ++
 config/s390/s390.c           |   56 ++++
 config/s390/s390.h           |   48 ++-
 config/s390/s390.md          |  529 +++++++++++++++++++++++++++++++++----------
 config/s390/s390.opt         |   10 
 config/s390/t-crtstuff       |    1 
 doc/invoke.texi              |   10 
 9 files changed, 736 insertions(+), 146 deletions(-)

Index: gcc41-s390-ldbl.patch
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41-s390-ldbl.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gcc41-s390-ldbl.patch	31 Jan 2006 14:29:33 -0000	1.3
+++ gcc41-s390-ldbl.patch	1 Feb 2006 18:38:16 -0000	1.4
@@ -1,10 +1,10 @@
-2006-01-31  Andreas Krebbel  <krebbel1 at de.ibm.com>
+2006-02-01  Andreas Krebbel  <krebbel1 at de.ibm.com>
 	    Ulrich Weigand  <uweigand at de.ibm.com>
 
 	* config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
 	"x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
 	* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
-	* config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
+	* config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr 
 	and dxr fields.
 	(z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
 	(s390_rtx_costs): Use the new fields to calculate rtx costs.
@@ -16,48 +16,48 @@
 	builtin define.
 	(LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
-	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
+	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, 
 	CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
-	* config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
+	* config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, 
 	fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
 	(FPR mode macro): Add TFmode.
 	(DSF mode macro): New.
 	(<de>, <dee> mode attributes): Removed.
 	(<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
-	("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
-	"*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
-	"floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
-	"*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
-	"*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
+	("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 
+	"*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 
+	"floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 
+	"*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 
+	"*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 
 	"*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
-	"*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
-	"*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
+	"*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 
+	"*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 
 	"*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
-	"*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
+	"*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 
 	"*negabs<mode>2", "sqrt<mode>2"):
 	Changed <de> to <xde>. R constraint replaced by <Rf>.
-	("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
+	("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 
 	<Rf>.
 	("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
 	("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
-	("*movtf_64", "*movtf_31"): New insn definitions followed by 5
+	("*movtf_64", "*movtf_31"): New insn definitions followed by 5 
 	splitters.
-	("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
+	("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", 
 	"extenddftf2", "extendsftf2"): New expanders.
-	("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
+	("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", 
 	"*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
 	"*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
 	* config/s390/s390.opt (mlong-double-128, mlong-double-64):
 	New options.
 	* config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
-	* config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
+	* config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, 
 	__fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
 	__floatditf): Add a GCC_4.1.0 symbol version tag.
 	* doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
 	the new options.
 
 --- gcc/config/s390/libgcc-glibc.ver.jj	2006-01-31 14:38:38.000000000 +0100
-+++ gcc/config/s390/libgcc-glibc.ver	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/libgcc-glibc.ver	2006-02-01 19:30:31.000000000 +0100
 @@ -39,3 +39,36 @@ GLIBC_2.2 {
  }
  %endif
@@ -96,7 +96,7 @@
 +%endif
 +}
 --- gcc/config/s390/s390.c.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/s390.c	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/s390.c	2006-02-01 19:30:31.000000000 +0100
 @@ -1,5 +1,5 @@
  /* Subroutines used for code generation on IBM S/390 and zSeries
 -   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -201,26 +201,23 @@
        return false;
  
      case SIGN_EXTEND:
-@@ -2570,6 +2598,18 @@ s390_secondary_input_reload_class (enum 
+@@ -2570,6 +2598,15 @@ s390_secondary_input_reload_class (enum 
    if (s390_plus_operand (in, mode))
      return ADDR_REGS;
  
 +  if (reg_classes_intersect_p (FP_REGS, class)
 +      && mode == TFmode
-+      && GET_CODE (in) == MEM)
-+    {
-+      rtx disp = const0_rtx;
-+
-+      eliminate_constant_term (XEXP (in, 0), &disp);
-+
-+      if (!DISP_IN_RANGE (INTVAL (disp) + GET_MODE_SIZE (mode) - 1))
-+	return ADDR_REGS;
-+    }
++      && GET_CODE (in) == MEM
++      && GET_CODE (XEXP (in, 0)) == PLUS
++      && GET_CODE (XEXP (XEXP (in, 0), 1)) == CONST_INT
++      && !DISP_IN_RANGE (INTVAL (XEXP (XEXP (in, 0), 1))
++			 + GET_MODE_SIZE (mode) - 1))
++    return ADDR_REGS;
 +
    if (reg_classes_intersect_p (CC_REGS, class))
      return GENERAL_REGS;
  
-@@ -2586,7 +2626,7 @@ enum reg_class
+@@ -2586,7 +2623,7 @@ enum reg_class
  s390_secondary_output_reload_class (enum reg_class class,
  				    enum machine_mode mode, rtx out)
  {
@@ -229,26 +226,23 @@
                      : (mode == DImode || mode == DFmode))
        && reg_classes_intersect_p (GENERAL_REGS, class)
        && GET_CODE (out) == MEM
-@@ -2597,6 +2637,18 @@ s390_secondary_output_reload_class (enum
+@@ -2597,6 +2634,15 @@ s390_secondary_output_reload_class (enum
  			 + GET_MODE_SIZE (mode) - 1))
      return ADDR_REGS;
  
 +  if (reg_classes_intersect_p (FP_REGS, class)
 +      && mode == TFmode
-+      && GET_CODE (out) == MEM)
-+    {
-+      rtx disp = const0_rtx;
-+
-+      eliminate_constant_term (XEXP (out, 0), &disp);
-+
-+      if (!DISP_IN_RANGE (INTVAL (disp) + GET_MODE_SIZE (mode) - 1))
-+	return ADDR_REGS;
-+    }
++      && GET_CODE (out) == MEM
++      && GET_CODE (XEXP (out, 0)) == PLUS
++      && GET_CODE (XEXP (XEXP (out, 0), 1)) == CONST_INT
++      && !DISP_IN_RANGE (INTVAL (XEXP (XEXP (out, 0), 1))
++			 + GET_MODE_SIZE (mode) - 1))
++    return ADDR_REGS;
 +
    if (reg_classes_intersect_p (CC_REGS, class))
      return GENERAL_REGS;
  
-@@ -5168,10 +5220,10 @@ replace_ltrel_base (rtx *x)
+@@ -5168,10 +5214,10 @@ replace_ltrel_base (rtx *x)
  /* We keep a list of constants which we have to add to internal
     constant tables in the middle of large functions.  */
  
@@ -262,7 +256,7 @@
    SFmode, SImode,
    HImode,
 --- gcc/config/s390/s390.opt.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/s390.opt	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/s390.opt	2006-02-01 19:30:31.000000000 +0100
 @@ -1,6 +1,6 @@
  ; Options for the S/390 / zSeries port of the compiler.
  
@@ -287,7 +281,7 @@
  Target Report Mask(PACKED_STACK)
  Use packed stack layout
 --- gcc/config/s390/2084.md.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/2084.md	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/2084.md	2006-02-01 19:30:31.000000000 +0100
 @@ -1,5 +1,5 @@
  ;; Scheduling description for z990 (cpu 2084).
 -;;   Copyright (C) 2003,2004, 2005 Free Software Foundation, Inc.
@@ -394,14 +388,14 @@
  	         "s390_agen_dep_p")
  
 --- gcc/config/s390/t-crtstuff.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/t-crtstuff	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/t-crtstuff	2006-02-01 19:30:31.000000000 +0100
 @@ -2,3 +2,4 @@
  # because then __FRAME_END__ might not be the last thing in .eh_frame
  # section.
  CRTSTUFF_T_CFLAGS = -fno-asynchronous-unwind-tables
 +TARGET_LIBGCC2_CFLAGS += -mlong-double-128
 --- gcc/config/s390/s390.md.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/s390.md	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/s390.md	2006-02-01 19:30:31.000000000 +0100
 @@ -1,5 +1,5 @@
  ;;- Machine description for GNU compiler -- S/390 / zSeries version.
 -;;  Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -1307,7 +1301,7 @@
     (set_attr "type" "fsqrt<mode>")])
  
 --- gcc/config/s390/fixdfdi.h.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/fixdfdi.h	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/fixdfdi.h	2006-02-01 19:30:31.000000000 +0100
 @@ -20,6 +20,156 @@ along with GCC; see the file COPYING.  I
  Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
  02110-1301, USA.  */
@@ -1471,7 +1465,7 @@
  #undef L_fixsfdi
 -
 --- gcc/config/s390/s390.h.jj	2006-01-31 14:38:39.000000000 +0100
-+++ gcc/config/s390/s390.h	2006-01-31 15:07:03.000000000 +0100
++++ gcc/config/s390/s390.h	2006-02-01 19:30:31.000000000 +0100
 @@ -1,5 +1,5 @@
  /* Definitions of target machine for GNU compiler, for IBM S/390
 -   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
@@ -1577,7 +1571,7 @@
  /* Register classes.  */
  
 --- gcc/doc/invoke.texi.jj	2006-01-31 14:38:56.000000000 +0100
-+++ gcc/doc/invoke.texi	2006-01-31 15:07:03.000000000 +0100
++++ gcc/doc/invoke.texi	2006-02-01 19:30:31.000000000 +0100
 @@ -666,8 +666,8 @@ See RS/6000 and PowerPC Options.
  
  @emph{S/390 and zSeries Options}


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- gcc41.spec	31 Jan 2006 14:29:33 -0000	1.20
+++ gcc41.spec	1 Feb 2006 18:38:16 -0000	1.21
@@ -1,6 +1,6 @@
 %define DATE 20060131
 %define gcc_version 4.1.0
-%define gcc_release 0.18
+%define gcc_release 0.19
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -1537,6 +1537,10 @@
 %endif
 
 %changelog
+* Wed Feb  1 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.19
+- s390{,x} long double patch fix for s390x ICEs on test-ldouble
+  and tst-align2 (Andreas Krebbel)
+
 * Tue Jan 31 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.18
 - update from gcc-4_1-branch (-r110317:110433)
   - PRs c++/25855, c++/25999, fortran/17911, fortran/18578, fortran/18579,




More information about the fedora-cvs-commits mailing list