aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-01-03 07:09:52 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1993-01-03 07:09:52 -0500
commitd0adc050ee3db38bace0b3c261e33d13fb82785e (patch)
tree9254ced91df2905113fb30d3cd452f3d390701e8
parent0bb5b6bce095328bf4c6fe976e05252759b21d89 (diff)
downloadgcc-d0adc050ee3db38bace0b3c261e33d13fb82785e.zip
gcc-d0adc050ee3db38bace0b3c261e33d13fb82785e.tar.gz
gcc-d0adc050ee3db38bace0b3c261e33d13fb82785e.tar.bz2
(movdi): Tests were in wrong order.
From-SVN: r3063
-rw-r--r--gcc/config/rs6000/rs6000.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 15a2c51..5ad5084 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -4579,7 +4579,18 @@
""
"cror 0,0,0")
-;; Define the subtract-one-and-jump insns.
+;; Define the subtract-one-and-jump insns, starting with the template
+;; so loop.c knows what to generate.
+
+(define_expand "decrement_and_branchsi"
+ [(set (pc) (if_then_else (ne (match_operand:SI 0 "register_operand" "c")
+ (const_int 1))
+ (label_ref (match_operand 1 "" ""))
+ (pc)))
+ (set (match_dup 0) (plus:SI (match_dup 0) (const_int -1)))]
+ ""
+ "")
+
;; We need to be able to do this for any operand, including MEM, or we
;; will cause reload to blow up since we don't allow output reloads on
;; JUMP_INSNs.
@@ -4599,7 +4610,7 @@
#
#")
-;; Similar, but we can use GE since we have a REG_NOTES.
+;; Similar, but we can use GE since we have a REG_NONNEG.
(define_insn ""
[(set (pc)
(if_then_else (ge (match_operand:SI 1 "register_operand" "0,*r,*r")