summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-13 14:06:56 +0000
committerdenisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-13 14:06:56 +0000
commit96d65727e2e9b382e8930ddcbd33a676fc027824 (patch)
tree8b257affb9faec4289e9a26e3399567a8e8b4ded
parent99bb04c99514ef43d3b2bbb5f4abfd5ccf80d234 (diff)
downloadppe42-gcc-96d65727e2e9b382e8930ddcbd33a676fc027824.tar.gz
ppe42-gcc-96d65727e2e9b382e8930ddcbd33a676fc027824.zip
* config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
which can change CC0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56253 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/avr/avr.md7
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 349fc3de87c..83854fc512e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-13 Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
+ which can change CC0.
+
Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gcse.c (adjust_libcall_notes): New function.
diff --git a/gcc/config/avr/avr.md b/gcc/config/avr/avr.md
index c237dcd7a1c..a285fef4f4a 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))
{
OpenPOWER on IntegriCloud