aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Michalkiewicz <marekm@amelek.gda.pl>2002-05-19 22:08:12 +0200
committerMarek Michalkiewicz <marekm@gcc.gnu.org>2002-05-19 20:08:12 +0000
commit651c5ed94aa771ad26036f0cadecb1fa16b4232b (patch)
treebec386d6db41fc4c9af6eccb43953ff04523922c /gcc
parent61039cd09eed677f690943bca7dc0d122e19ddcb (diff)
downloadgcc-651c5ed94aa771ad26036f0cadecb1fa16b4232b.zip
gcc-651c5ed94aa771ad26036f0cadecb1fa16b4232b.tar.gz
gcc-651c5ed94aa771ad26036f0cadecb1fa16b4232b.tar.bz2
avr.c (machine_dependent_reorg): Sign extend the CONST_INT operand to the correct mode after adding 1 to it.
* config/avr/avr.c (machine_dependent_reorg): Sign extend the CONST_INT operand to the correct mode after adding 1 to it. From-SVN: r53638
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/avr/avr.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ab60966..75fdf27 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index ea2a193..f75de5e 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;