summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2008-05-16 09:33:59 +0000
committerRichard Purdie <rpurdie@rpsys.net>2008-05-16 09:33:59 +0000
commit34c347b9448e1c752c885cf312ec730e1176af9d (patch)
treefc42277ca7ffcb555be479eb4c36134a7ce3c68c /packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch
parente4068ea40e02f149c1d4fbd7ec4b7686bf056f80 (diff)
Add gcc 4.2.3 and gcc 3.4.6-native from Poky
Diffstat (limited to 'packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch')
-rw-r--r--packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch b/packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch
new file mode 100644
index 0000000000..c3c40dd183
--- /dev/null
+++ b/packages/gcc/gcc-3.4.6/gcc34-reverse-compare.patch
@@ -0,0 +1,32 @@
+--- gcc-3.4.0/gcc/flow.c.reverse-compare 2004-02-27 22:39:19.000000000 -0500
++++ gcc-3.4.0/gcc/flow.c 2004-04-24 16:36:00.000000000 -0400
+@@ -1843,6 +1843,7 @@
+ regset_head diff_head;
+ regset diff = INITIALIZE_REG_SET (diff_head);
+ basic_block bb_true, bb_false;
++ enum rtx_code reversed_code;
+ int i;
+
+ /* Identify the successor blocks. */
+@@ -1889,8 +1890,11 @@
+ if (GET_CODE (reg) == REG
+ && XEXP (cond_true, 1) == const0_rtx)
+ {
+- rtx cond_false
+- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
++ rtx cond_false;
++ reversed_code = reverse_condition (GET_CODE (cond_true));
++ if (reversed_code == UNKNOWN)
++ goto skip;
++ cond_false = gen_rtx_fmt_ee (reversed_code,
+ GET_MODE (cond_true), XEXP (cond_true, 0),
+ XEXP (cond_true, 1));
+ if (GET_CODE (XEXP (set_src, 1)) == PC)
+@@ -1925,6 +1929,7 @@
+ }
+ }
+
++ skip:
+ FREE_REG_SET (diff);
+ }
+ #endif