* sh.md (cbranch define_delay) Use cond_delay_slot for
authorJ"orn Rennecke <joern.rennecke@superh.com>
Fri, 13 Aug 2004 15:24:30 +0000 (15:24 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Fri, 13 Aug 2004 15:24:30 +0000 (16:24 +0100)
non-anulled condition too.

From-SVN: r85941

gcc/ChangeLog
gcc/config/sh/sh.md

index 554930ace333a4edf204c5d7e819d9db7562aef3..47c8fb2c053f49fce1d0508390a25fae0a8fb588 100644 (file)
@@ -1,3 +1,8 @@
+2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.md (cbranch define_delay) Use cond_delay_slot for
+       non-anulled condition too.
+
 2004-08-12  David Edelsohn  <edelsohn@gnu.org>
 
        * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
index 8b2c6f2bb96d6fc8ae314575cc9519481e4e4c56..cb7de4004c890f3f944e3a236aafed5d5f805ce7 100644 (file)
 ;; Say that we have annulled true branches, since this gives smaller and
 ;; faster code when branches are predicted as not taken.
 
+;; ??? The non-annulled condition should really be "in_delay_slot",
+;; but insns that can be filled in non-annulled get priority over insns
+;; that can only be filled in anulled.
+
 (define_delay
   (and (eq_attr "type" "cbranch")
        (ne (symbol_ref "TARGET_SH2") (const_int 0)))
   ;; SH2e has a hardware bug that pretty much prohibits the use of
   ;; annuled delay slots.
-  [(eq_attr "in_delay_slot" "yes") (and (eq_attr "cond_delay_slot" "yes")
+  [(eq_attr "cond_delay_slot" "yes") (and (eq_attr "cond_delay_slot" "yes")
                                        (not (eq_attr "cpu" "sh2e"))) (nil)])
 \f
 ;; -------------------------------------------------------------------------