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
This commit is contained in:
Richard Henderson 1999-10-08 14:54:12 -07:00 committed by Gavin Romig-Koch
parent 64fb023e4e
commit cf45bb0618
2 changed files with 18 additions and 57 deletions

View File

@ -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'.

View File

@ -6160,41 +6160,9 @@ move\\t%0,%z4\\n\\
;; is not offsettable, since the stack pointer can only handle 4 and 8
;; 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