2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
+ * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
+
+2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
+
* combine.c (simplify_set): Do not clear out undobuf.other_insn
already set elsewhere.
int subtract, normalize;
if (! no_new_pseudos
- /* Should be no `else' case to worry about. */
- && if_info->b == if_info->x
&& GET_CODE (if_info->a) == PLUS
- && rtx_equal_p (XEXP (if_info->a, 0), if_info->x)
+ && rtx_equal_p (XEXP (if_info->a, 0), if_info->b)
&& (reversed_comparison_code (if_info->cond, if_info->jump)
!= UNKNOWN))
{
if (target)
target = expand_simple_binop (GET_MODE (if_info->x),
subtract ? MINUS : PLUS,
- if_info->x, target, if_info->x,
+ if_info->b, target, if_info->x,
0, OPTAB_WIDEN);
if (target)
{