summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch')
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch b/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch
new file mode 100644
index 0000000000..c3c40dd183
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc34-reverse-compare.patch
@@ -0,0 +1,32 @@
1--- gcc-3.4.0/gcc/flow.c.reverse-compare 2004-02-27 22:39:19.000000000 -0500
2+++ gcc-3.4.0/gcc/flow.c 2004-04-24 16:36:00.000000000 -0400
3@@ -1843,6 +1843,7 @@
4 regset_head diff_head;
5 regset diff = INITIALIZE_REG_SET (diff_head);
6 basic_block bb_true, bb_false;
7+ enum rtx_code reversed_code;
8 int i;
9
10 /* Identify the successor blocks. */
11@@ -1889,8 +1890,11 @@
12 if (GET_CODE (reg) == REG
13 && XEXP (cond_true, 1) == const0_rtx)
14 {
15- rtx cond_false
16- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
17+ rtx cond_false;
18+ reversed_code = reverse_condition (GET_CODE (cond_true));
19+ if (reversed_code == UNKNOWN)
20+ goto skip;
21+ cond_false = gen_rtx_fmt_ee (reversed_code,
22 GET_MODE (cond_true), XEXP (cond_true, 0),
23 XEXP (cond_true, 1));
24 if (GET_CODE (XEXP (set_src, 1)) == PC)
25@@ -1925,6 +1929,7 @@
26 }
27 }
28
29+ skip:
30 FREE_REG_SET (diff);
31 }
32 #endif