aboutsummaryrefslogtreecommitdiff
path: root/4.1.2
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-04-12 22:18:39 +0000
committerMike Frysinger <vapier@gentoo.org>2008-04-12 22:18:39 +0000
commit1bc3a76678175dc7a1bac99511989ebbf34dc23f (patch)
tree88887916213f5cc3920d7fb8e84f8b40892b5988 /4.1.2
parentinitial 4.3.0 patchset based on last 4.2.3 patchset (diff)
downloadgcc-patches-1bc3a76678175dc7a1bac99511989ebbf34dc23f.tar.gz
gcc-patches-1bc3a76678175dc7a1bac99511989ebbf34dc23f.tar.bz2
gcc-patches-1bc3a76678175dc7a1bac99511989ebbf34dc23f.zip
add some more fixes from upstream
Diffstat (limited to '4.1.2')
-rw-r--r--4.1.2/gentoo/65_all_gcc-hppa-pr34627.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/4.1.2/gentoo/65_all_gcc-hppa-pr34627.patch b/4.1.2/gentoo/65_all_gcc-hppa-pr34627.patch
new file mode 100644
index 0000000..da0db33
--- /dev/null
+++ b/4.1.2/gentoo/65_all_gcc-hppa-pr34627.patch
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/203543
+http://gcc.gnu.org/PR34627
+
+2008-02-08 Steven Bosscher <stevenb.gcc@gmail.com>
+
+ PR middle-end/34627
+ combine.c (simplify_if_then_else): Make sure the comparison is
+ against const0_rtx when simplifying to (abs x) or (neg (abs X)).
+
+--- trunk/gcc/combine.c 2008/02/09 00:17:54 132192
++++ trunk/gcc/combine.c 2008/02/09 00:30:13 132193
+@@ -5393,9 +5393,10 @@
+ /* Look for cases where we have (abs x) or (neg (abs X)). */
+
+ if (GET_MODE_CLASS (mode) == MODE_INT
++ && comparison_p
++ && XEXP (cond, 1) == const0_rtx
+ && GET_CODE (false_rtx) == NEG
+ && rtx_equal_p (true_rtx, XEXP (false_rtx, 0))
+- && comparison_p
+ && rtx_equal_p (true_rtx, XEXP (cond, 0))
+ && ! side_effects_p (true_rtx))
+ switch (true_code)