aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/avr
diff options
context:
space:
mode:
authorDenis Chertykov <denisc@overta.ru>2002-08-13 14:06:56 +0000
committerDenis Chertykov <denisc@gcc.gnu.org>2002-08-13 18:06:56 +0400
commitdb62867bed8c2555454c4157df69648330300a40 (patch)
tree8b257affb9faec4289e9a26e3399567a8e8b4ded /gcc/config/avr
parent8ba464346aca59a32206a53da84d3909265efab4 (diff)
downloadgcc-db62867bed8c2555454c4157df69648330300a40.zip
gcc-db62867bed8c2555454c4157df69648330300a40.tar.gz
gcc-db62867bed8c2555454c4157df69648330300a40.tar.bz2
avr.md: Call CC_STATUS_INIT in all peepnoles which can change CC0.
* config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles which can change CC0. From-SVN: r56253
Diffstat (limited to 'gcc/config/avr')
-rw-r--r--gcc/config/avr/avr.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index c237dcd..a285fef 100644
--- a/gcc/config/avr/avr.md
+++ b/gcc/config/avr/avr.md
@@ -1,7 +1,7 @@
;; -*- Mode: Scheme -*-
;; Machine description for GNU compiler,
;; for ATMEL AVR micro controllers.
-;; Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
;; Contributed by Denis Chertykov (denisc@overta.ru)
;; This file is part of GNU CC.
@@ -2403,6 +2403,7 @@
&& test_hard_reg_class (LD_REGS, operands[1]))"
"*
{
+ CC_STATUS_INIT;
if (test_hard_reg_class (ADDW_REGS, operands[0]))
output_asm_insn (AS2 (sbiw,%0,1) CR_TAB
AS2 (sbc,%C0,__zero_reg__) CR_TAB
@@ -2441,6 +2442,7 @@
&& test_hard_reg_class (LD_REGS, operands[1]))"
"*
{
+ CC_STATUS_INIT;
if (test_hard_reg_class (ADDW_REGS, operands[0]))
output_asm_insn (AS2 (sbiw,%0,1), operands);
else
@@ -2472,6 +2474,9 @@
"test_hard_reg_class (LD_REGS, operands[0])"
"*
{
+ CC_STATUS_INIT;
+ cc_status.value1 = operands[0];
+ cc_status.flags |= CC_OVERFLOW_UNUSABLE;
output_asm_insn (AS2 (subi,%A0,1), operands);
switch (avr_jump_mode (operands[1],insn))
{