From 48bc863929b7ec1dc53ffaa47c873ab39e9ce20d Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@fedoraproject.org>
Date: Tue, 21 Jul 2009 17:18:39 +0000
Subject: [PATCH] 4.4.0-15

---
 .cvsignore          |  2 +-
 gcc.spec            |  8 ++++---
 gcc44-pr40811.patch | 51 +++++++++++++++++++++++----------------------
 sources             |  2 +-
 4 files changed, 33 insertions(+), 30 deletions(-)

diff --git a/.cvsignore b/.cvsignore
index 3aa8a7b..bb14f25 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,2 +1,2 @@
 fastjar-0.97.tar.gz
-gcc-4.4.0-20090717.tar.bz2
+gcc-4.4.0-20090721.tar.bz2
diff --git a/gcc.spec b/gcc.spec
index b9b2e89..dbfe22f 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -35,7 +35,7 @@
 %global multilib_32_arch ppc
 %endif
 %ifarch x86_64
-%global multilib_32_arch i586
+%global multilib_32_arch i686
 %endif
 Summary: Various compilers (C, C++, Objective-C, Java, ...)
 Name: gcc
@@ -652,10 +652,10 @@ CC="$CC" CFLAGS="$OPT_FLAGS" CXXFLAGS="`echo $OPT_FLAGS | sed 's/ -Wall / /g'`"
 	--with-tune=generic \
 %endif
 %ifarch %{ix86}
-	--with-arch=i586 \
+	--with-arch=i686 \
 %endif
 %ifarch x86_64
-	--with-arch_32=i586 \
+	--with-arch_32=i686 \
 %endif
 %ifarch s390 s390x
 	--with-arch=z9-109 --with-tune=z10 \
@@ -1818,6 +1818,8 @@ fi
   constructs (#512689, #511573)
 - vectorize unsigned int -> {float,double} conversions on x86/x86_64
   (PR target/40811)
+- update for i586.rpm -> i686.rpm switch (default to -march=i686 -mtune=generic
+  in i686.rpm gcc and also with -m32 in x86_64.rpm gcc)
 
 * Fri Jul 17 2009 Jakub Jelinek <jakub@redhat.com> 4.4.0-14
 - update from gcc-4_4-branch
diff --git a/gcc44-pr40811.patch b/gcc44-pr40811.patch
index d796820..0a498ee 100644
--- a/gcc44-pr40811.patch
+++ b/gcc44-pr40811.patch
@@ -130,16 +130,17 @@
     (match_operand:V2DF 1 "nonimmediate_operand" "")
 --- gcc/config/i386/i386.c	(revision 149860)
 +++ gcc/config/i386/i386.c	(revision 149862)
-@@ -20908,6 +20908,8 @@ enum ix86_builtins
-   IX86_BUILTIN_CPYSGNPS,
-   IX86_BUILTIN_CPYSGNPD,
+@@ -21080,6 +21080,9 @@ enum ix86_builtins
+   IX86_BUILTIN_FABSQ,
+   IX86_BUILTIN_COPYSIGNQ,
  
++  /* Vectorizer support builtins.  */
 +  IX86_BUILTIN_CVTUDQ2PS,
 +
    /* SSE5 instructions */
    IX86_BUILTIN_FMADDSS,
    IX86_BUILTIN_FMADDSD,
-@@ -21785,6 +21787,7 @@ static const struct builtin_description 
+@@ -21938,6 +21941,7 @@ static const struct builtin_description 
    { OPTION_MASK_ISA_SSE2, CODE_FOR_sqrtv2df2, "__builtin_ia32_sqrtpd", IX86_BUILTIN_SQRTPD, UNKNOWN, (int) V2DF_FTYPE_V2DF },
    { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_cvtdq2pd, "__builtin_ia32_cvtdq2pd", IX86_BUILTIN_CVTDQ2PD, UNKNOWN, (int) V2DF_FTYPE_V4SI },
    { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_cvtdq2ps, "__builtin_ia32_cvtdq2ps", IX86_BUILTIN_CVTDQ2PS, UNKNOWN, (int) V4SF_FTYPE_V4SI },
@@ -147,7 +148,7 @@
  
    { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_cvtpd2dq, "__builtin_ia32_cvtpd2dq", IX86_BUILTIN_CVTPD2DQ, UNKNOWN, (int) V4SI_FTYPE_V2DF },
    { OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_cvtpd2pi, "__builtin_ia32_cvtpd2pi", IX86_BUILTIN_CVTPD2PI, UNKNOWN, (int) V2SI_FTYPE_V2DF },
-@@ -25962,9 +25965,7 @@ ix86_veclibabi_acml (enum built_in_funct
+@@ -26028,9 +26032,7 @@ ix86_veclibabi_acml (enum built_in_funct
  static tree
  ix86_vectorize_builtin_conversion (unsigned int code, tree type)
  {
@@ -158,7 +159,7 @@
      return NULL_TREE;
  
    switch (code)
-@@ -25973,7 +25974,9 @@ ix86_vectorize_builtin_conversion (unsig
+@@ -26039,7 +26041,9 @@ ix86_vectorize_builtin_conversion (unsig
        switch (TYPE_MODE (type))
  	{
  	case V4SImode:
@@ -169,7 +170,7 @@
  	default:
  	  return NULL_TREE;
  	}
-@@ -25982,7 +25985,9 @@ ix86_vectorize_builtin_conversion (unsig
+@@ -26048,7 +26052,9 @@ ix86_vectorize_builtin_conversion (unsig
        switch (TYPE_MODE (type))
  	{
  	case V4SImode:
@@ -180,6 +181,24 @@
  	default:
  	  return NULL_TREE;
  	}
+--- gcc/testsuite/gcc.target/i386/vectorize7.c	(revision 0)
++++ gcc/testsuite/gcc.target/i386/vectorize7.c	(revision 149862)
+@@ -0,0 +1,15 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -ftree-vectorize -msse2" } */
++
++unsigned int a[256];
++float b[256];
++
++void foo(void)
++{
++  int i;
++
++  for (i=0; i<256; ++i)
++    b[i] = a[i];
++}
++
++/* { dg-final { scan-assembler "cvtdq2ps" } } */
 --- gcc/testsuite/gcc.target/i386/vectorize8.c	(revision 0)
 +++ gcc/testsuite/gcc.target/i386/vectorize8.c	(revision 149862)
 @@ -0,0 +1,16 @@
@@ -199,24 +218,6 @@
 +
 +/* { dg-final { scan-assembler "cvtdq2pd" } } */
 +
---- gcc/testsuite/gcc.target/i386/vectorize7.c	(revision 0)
-+++ gcc/testsuite/gcc.target/i386/vectorize7.c	(revision 149862)
-@@ -0,0 +1,15 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -ftree-vectorize -msse2" } */
-+
-+unsigned int a[256];
-+float b[256];
-+
-+void foo(void)
-+{
-+  int i;
-+
-+  for (i=0; i<256; ++i)
-+    b[i] = a[i];
-+}
-+
-+/* { dg-final { scan-assembler "cvtdq2ps" } } */
 --- gcc/testsuite/lib/target-supports.exp	(revision 149860)
 +++ gcc/testsuite/lib/target-supports.exp	(revision 149862)
 @@ -1399,8 +1399,10 @@ proc check_effective_target_vect_uintflo
diff --git a/sources b/sources
index e4e0793..0749a99 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-ff8cd10e00eb4805d0233c6cf60508d0  gcc-4.4.0-20090717.tar.bz2
+aed249015ac92356fa93a70f0b40666f  gcc-4.4.0-20090721.tar.bz2