Commit 567075ed by Joseph Myers Committed by Joseph Myers

ifcvt.c (noce_emit_store_flag): If using condition from original jump, reverse…

ifcvt.c (noce_emit_store_flag): If using condition from original jump, reverse it if if_info->cond was reversed.

	* ifcvt.c (noce_emit_store_flag): If using condition from original
	jump, reverse it if if_info->cond was reversed.

From-SVN: r140764
parent ae00112b
2008-09-29 Joseph Myers <joseph@codesourcery.com>
* ifcvt.c (noce_emit_store_flag): If using condition from original
jump, reverse it if if_info->cond was reversed.
2008-09-29 Eric Botcazou <ebotcazou@adacore.com>
* expr.c (expand_expr_real_1) <normal_inner_ref>: Force op0 to
......
......@@ -666,7 +666,15 @@ noce_emit_store_flag (struct noce_if_info *if_info, rtx x, int reversep,
build the store_flag insn directly. */
if (cond_complex)
cond = XEXP (SET_SRC (pc_set (if_info->jump)), 0);
{
rtx set = pc_set (if_info->jump);
cond = XEXP (SET_SRC (set), 0);
if (GET_CODE (XEXP (SET_SRC (set), 2)) == LABEL_REF
&& XEXP (XEXP (SET_SRC (set), 2), 0) == JUMP_LABEL (if_info->jump))
reversep = !reversep;
if (if_info->then_else_reversed)
reversep = !reversep;
}
if (reversep)
code = reversed_comparison_code (cond, if_info->jump);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment