aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-10-08 14:54:12 -0700
committerGavin Romig-Koch <gavin@gcc.gnu.org>1999-10-08 21:54:12 +0000
commitcf45bb06184a5bfd13308f3124435e99bdefc779 (patch)
treea8ed57db19028ae28da04779c75dd219659e4b6a /gcc
parent64fb023e4ee310f0e681e891b60b71ca2c8dbd26 (diff)
downloadgcc-cf45bb06184a5bfd13308f3124435e99bdefc779.zip
gcc-cf45bb06184a5bfd13308f3124435e99bdefc779.tar.gz
gcc-cf45bb06184a5bfd13308f3124435e99bdefc779.tar.bz2
mips.md (movstrsi+[123]): Combine these into a single pattern.
* config/mips/mips.md (movstrsi+[123]) : Combine these into a single pattern. Scrap the 'd' versions as unnecessary. * config/mips/mips.md (tablejump_internal3,tablejump_mips161, tablejump_mips162,tablejump_internal4): The operands to a label_ref must be VOIDmode. From-SVN: r29874
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/mips/mips.md66
2 files changed, 18 insertions, 57 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7f41669..70880e9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+Fri Oct 8 17:49:08 1999 Richard Henderson <rth@cygnus.com>
+
+ * config/mips/mips.md (movstrsi+[123]) : Combine these into
+ a single pattern. Scrap the 'd' versions as unnecessary.
+
+ * config/mips/mips.md (tablejump_internal3,tablejump_mips161,
+ tablejump_mips162,tablejump_internal4): The operands to a
+ label_ref must be VOIDmode.
+
Fri Oct 8 16:12:42 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 3941294..1943168 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -6161,40 +6161,8 @@ move\\t%0,%z4\\n\\
;; byte loads.
(define_insn ""
- [(set (match_operand:BLK 0 "memory_operand" "=d") ;; destination
- (match_operand:BLK 1 "memory_operand" "d")) ;; source
- (clobber (match_scratch:SI 4 "=&d")) ;; temp 1
- (clobber (match_scratch:SI 5 "=&d")) ;; temp 2
- (clobber (match_scratch:SI 6 "=&d")) ;; temp 3
- (clobber (match_scratch:SI 7 "=&d")) ;; temp 4
- (use (match_operand:SI 2 "small_int" "I")) ;; # bytes to move
- (use (match_operand:SI 3 "small_int" "I")) ;; alignment
- (use (const_int 0))] ;; normal block move
- "TARGET_MIPS16"
- "* return output_block_move (insn, operands, 4, BLOCK_MOVE_NORMAL);"
- [(set_attr "type" "multi")
- (set_attr "mode" "none")
- (set_attr "length" "80")])
-
-(define_insn ""
- [(set (match_operand:BLK 0 "memory_operand" "=d") ;; destination
- (match_operand:BLK 1 "memory_operand" "o")) ;; source
- (clobber (match_scratch:SI 4 "=&d")) ;; temp 1
- (clobber (match_scratch:SI 5 "=&d")) ;; temp 2
- (clobber (match_scratch:SI 6 "=&d")) ;; temp 3
- (clobber (match_scratch:SI 7 "=&d")) ;; temp 4
- (use (match_operand:SI 2 "small_int" "I")) ;; # bytes to move
- (use (match_operand:SI 3 "small_int" "I")) ;; alignment
- (use (const_int 0))] ;; normal block move
- "TARGET_MIPS16"
- "* return output_block_move (insn, operands, 4, BLOCK_MOVE_NORMAL);"
- [(set_attr "type" "multi")
- (set_attr "mode" "none")
- (set_attr "length" "80")])
-
-(define_insn ""
[(set (match_operand:BLK 0 "memory_operand" "=o") ;; destination
- (match_operand:BLK 1 "memory_operand" "d")) ;; source
+ (match_operand:BLK 1 "memory_operand" "o")) ;; source
(clobber (match_scratch:SI 4 "=&d")) ;; temp 1
(clobber (match_scratch:SI 5 "=&d")) ;; temp 2
(clobber (match_scratch:SI 6 "=&d")) ;; temp 3
@@ -6268,8 +6236,8 @@ move\\t%0,%z4\\n\\
(set_attr "length" "80")])
(define_insn ""
- [(set (match_operand:BLK 0 "memory_operand" "=d") ;; destination
- (match_operand:BLK 1 "memory_operand" "d")) ;; source
+ [(set (match_operand:BLK 0 "memory_operand" "=o") ;; destination
+ (match_operand:BLK 1 "memory_operand" "o")) ;; source
(clobber (match_scratch:SI 4 "=&d")) ;; temp 1
(clobber (match_scratch:SI 5 "=&d")) ;; temp 2
(clobber (match_scratch:SI 6 "=&d")) ;; temp 3
@@ -6297,22 +6265,6 @@ move\\t%0,%z4\\n\\
"* return output_block_move (insn, operands, 4, BLOCK_MOVE_LAST);"
[(set_attr "type" "store")
(set_attr "mode" "none")])
-
-(define_insn ""
- [(set (match_operand:BLK 0 "memory_operand" "=d") ;; destination
- (match_operand:BLK 1 "memory_operand" "d")) ;; source
- (clobber (match_scratch:SI 4 "=&d")) ;; temp 1
- (clobber (match_scratch:SI 5 "=&d")) ;; temp 2
- (clobber (match_scratch:SI 6 "=&d")) ;; temp 3
- (clobber (match_scratch:SI 7 "=&d")) ;; temp 4
- (use (match_operand:SI 2 "small_int" "I")) ;; # bytes to move
- (use (match_operand:SI 3 "small_int" "I")) ;; alignment
- (use (const_int 2))] ;; just last store of block move
- "TARGET_MIPS16"
- "* return output_block_move (insn, operands, 4, BLOCK_MOVE_LAST);"
- [(set_attr "type" "store")
- (set_attr "mode" "none")])
-
;;
;; ....................
@@ -9141,7 +9093,7 @@ move\\t%0,%z4\\n\\
(define_expand "tablejump_internal3"
[(parallel [(set (pc)
(plus:SI (match_operand:SI 0 "register_operand" "d")
- (label_ref:SI (match_operand:SI 1 "" ""))))
+ (label_ref:SI (match_operand 1 "" ""))))
(use (label_ref:SI (match_dup 1)))])]
""
"")
@@ -9149,7 +9101,7 @@ move\\t%0,%z4\\n\\
(define_expand "tablejump_mips161"
[(set (pc) (plus:SI (sign_extend:SI
(match_operand:HI 0 "register_operand" "d"))
- (label_ref:SI (match_operand:SI 1 "" ""))))]
+ (label_ref:SI (match_operand 1 "" ""))))]
"TARGET_MIPS16 && !(Pmode == DImode)"
"
{
@@ -9171,7 +9123,7 @@ move\\t%0,%z4\\n\\
(define_expand "tablejump_mips162"
[(set (pc) (plus:DI (sign_extend:DI
(match_operand:HI 0 "register_operand" "d"))
- (label_ref:DI (match_operand:SI 1 "" ""))))]
+ (label_ref:DI (match_operand 1 "" ""))))]
"TARGET_MIPS16 && Pmode == DImode"
"
{
@@ -9200,7 +9152,7 @@ move\\t%0,%z4\\n\\
(define_insn ""
[(set (pc)
(plus:SI (match_operand:SI 0 "register_operand" "d")
- (label_ref:SI (match_operand:SI 1 "" ""))))
+ (label_ref:SI (match_operand 1 "" ""))))
(use (label_ref:SI (match_dup 1)))]
"!(Pmode == DImode) && next_active_insn (insn) != 0
&& GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC
@@ -9219,7 +9171,7 @@ move\\t%0,%z4\\n\\
(define_expand "tablejump_internal4"
[(parallel [(set (pc)
(plus:DI (match_operand:DI 0 "se_register_operand" "d")
- (label_ref:DI (match_operand:SI 1 "" ""))))
+ (label_ref:DI (match_operand 1 "" ""))))
(use (label_ref:DI (match_dup 1)))])]
""
"")
@@ -9231,7 +9183,7 @@ move\\t%0,%z4\\n\\
(define_insn ""
[(set (pc)
(plus:DI (match_operand:DI 0 "se_register_operand" "d")
- (label_ref:DI (match_operand:SI 1 "" ""))))
+ (label_ref:DI (match_operand 1 "" ""))))
(use (label_ref:DI (match_dup 1)))]
"Pmode == DImode && next_active_insn (insn) != 0
&& GET_CODE (PATTERN (next_active_insn (insn))) == ADDR_DIFF_VEC