]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
avr.md: Call CC_STATUS_INIT in all peepnoles which can change CC0.
authorMarek Michalkiewicz <marekm@amelek.gda.pl>
Sun, 1 Sep 2002 18:46:20 +0000 (20:46 +0200)
committerMarek Michalkiewicz <marekm@gcc.gnu.org>
Sun, 1 Sep 2002 18:46:20 +0000 (18:46 +0000)
2002-08-13  Denis Chertykov  <denisc@overta.ru>
* config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
which can change CC0.

From-SVN: r56724

gcc/ChangeLog
gcc/config/avr/avr.md

index f664314be69d019f6fc1e1d961ad3b4f538d653a..430f1c2d28a659e9f0e5fd0399baf9ff3e370835 100644 (file)
@@ -1,3 +1,9 @@
+2002-09-01  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       2002-08-13  Denis Chertykov  <denisc@overta.ru>
+       * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
+       which can change CC0.
+
 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
 
         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
index 762288f6403e8d904f08e9b94cf7bd85cfa2af55..249b4aa1957515e08f66a11dd715aceee9399108 100644 (file)
@@ -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.
     && 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
     && 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
   "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))
   {