From bef5105b4e19c0841d8e7ac4cf04f1d495b964e3 Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Sat, 17 Jan 2004 23:49:44 +0000 Subject: [PATCH] builtins.c (expand_builtin_expect_jump): Fix mistake in my last patch. * builtins.c (expand_builtin_expect_jump): Fix mistake in my last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. From-SVN: r76064 --- gcc/ChangeLog | 5 +++++ gcc/builtins.c | 12 ++++++------ 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 + + * 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 * 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; -- 2.30.2