diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab609663ac0..75fdf278e53 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-05-19 Marek Michalkiewicz + + * config/avr/avr.c (machine_dependent_reorg): Sign extend the + CONST_INT operand to the correct mode after adding 1 to it. + 2002-05-19 Mark Mitchell * config.gcc (powerpc-wrs-windiss*): New target. diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index ea2a19354d1..f75de5e8f1a 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -5067,11 +5067,11 @@ machine_dependent_reorg (first_insn) rtx pat = PATTERN (next); rtx src = SET_SRC (pat); rtx t = XEXP (src,0); + enum machine_mode mode = GET_MODE (XEXP (pattern, 0)); - if (avr_simplify_comparision_p (GET_MODE (XEXP (pattern,0)), - GET_CODE (t), x)) + if (avr_simplify_comparision_p (mode, GET_CODE (t), x)) { - XEXP (pattern,1) = GEN_INT (INTVAL (x)+1); + XEXP (pattern, 1) = gen_int_mode (INTVAL (x) + 1, mode); PUT_CODE (t, avr_normalize_condition (GET_CODE (t))); INSN_CODE (next) = -1; INSN_CODE (insn) = -1;