summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-17 23:49:44 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-17 23:49:44 +0000
commitb7b16e57a756fd5e7182f5afc9b409ed84a65c1b (patch)
tree0d445cda6176b4d01ae4dc6c2b3cb60e0062d0f0 /gcc
parentca154f3f2209edd618242c8605fcbeddbfa5231f (diff)
downloadppe42-gcc-b7b16e57a756fd5e7182f5afc9b409ed84a65c1b.tar.gz
ppe42-gcc-b7b16e57a756fd5e7182f5afc9b409ed84a65c1b.zip
* builtins.c (expand_builtin_expect_jump): Fix mistake in my
last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76064 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/builtins.c12
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3f71bd5fd00..38aed72d866 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-17 Roger Sayle <roger@eyesopen.com>
+
+ * builtins.c (expand_builtin_expect_jump): Fix mistake in my
+ last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
+
2004-01-17 Daniel Jacobowitz <drow@mvista.com>
* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 5669f00171d..d34cbd6a0b7 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -4492,16 +4492,16 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label)
/* First check if we recognize any of the labels. */
if (GET_CODE (then_dest) == LABEL_REF
- && XEXP (then_dest, 1) == if_true_label)
+ && XEXP (then_dest, 0) == if_true_label)
taken = 1;
else if (GET_CODE (then_dest) == LABEL_REF
- && XEXP (then_dest, 1) == if_false_label)
+ && XEXP (then_dest, 0) == if_false_label)
taken = 0;
else if (GET_CODE (else_dest) == LABEL_REF
- && XEXP (else_dest, 1) == if_false_label)
+ && XEXP (else_dest, 0) == if_false_label)
taken = 1;
else if (GET_CODE (else_dest) == LABEL_REF
- && XEXP (else_dest, 1) == if_true_label)
+ && XEXP (else_dest, 0) == if_true_label)
taken = 0;
/* Otherwise check where we drop through. */
else if (else_dest == pc_rtx)
@@ -4511,7 +4511,7 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label)
if (next && GET_CODE (next) == JUMP_INSN
&& any_uncondjump_p (next))
- next = XEXP (SET_SRC (pc_set (next)), 1);
+ next = XEXP (SET_SRC (pc_set (next)), 0);
/* NEXT is either a CODE_LABEL, NULL_RTX or something
else that can't possibly match either target label. */
@@ -4527,7 +4527,7 @@ expand_builtin_expect_jump (tree exp, rtx if_false_label, rtx if_true_label)
if (next && GET_CODE (next) == JUMP_INSN
&& any_uncondjump_p (next))
- next = XEXP (SET_SRC (pc_set (next)), 1);
+ next = XEXP (SET_SRC (pc_set (next)), 0);
if (next == if_false_label)
taken = 0;
OpenPOWER on IntegriCloud