diff options
| author | denisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-13 14:06:56 +0000 |
|---|---|---|
| committer | denisc <denisc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-08-13 14:06:56 +0000 |
| commit | 96d65727e2e9b382e8930ddcbd33a676fc027824 (patch) | |
| tree | 8b257affb9faec4289e9a26e3399567a8e8b4ded | |
| parent | 99bb04c99514ef43d3b2bbb5f4abfd5ccf80d234 (diff) | |
| download | ppe42-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/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/avr/avr.md | 7 |
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)) { |

