OSDN Git Service

* config/avr/avr.c (machine_dependent_reorg): Sign extend the
authormarekm <marekm@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 May 2002 20:08:12 +0000 (20:08 +0000)
committermarekm <marekm@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 19 May 2002 20:08:12 +0000 (20:08 +0000)
CONST_INT operand to the correct mode after adding 1 to it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53638 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/avr/avr.c

index ab60966..75fdf27 100644 (file)
@@ -1,3 +1,8 @@
+2002-05-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * 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  <mark@codesourcery.com>
 
        * config.gcc (powerpc-wrs-windiss*): New target.
index ea2a193..f75de5e 100644 (file)
@@ -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;