aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-04-25 14:18:26 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-04-25 14:18:26 -0700
commit9fe5bce9bbfe44ab8a8873d000f7ba90672bd0a8 (patch)
tree2de6eb78500cd35828858b09d2d1cb1dc87ea8ee /gcc
parent09aa65598b8246bd1aa136802017a7f190aba022 (diff)
downloadgcc-9fe5bce9bbfe44ab8a8873d000f7ba90672bd0a8.zip
gcc-9fe5bce9bbfe44ab8a8873d000f7ba90672bd0a8.tar.gz
gcc-9fe5bce9bbfe44ab8a8873d000f7ba90672bd0a8.tar.bz2
(movstrsi): Comment out.
From-SVN: r4220
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc.md80
1 files changed, 41 insertions, 39 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md
index 1aafb67..dd34100 100644
--- a/gcc/config/sparc/sparc.md
+++ b/gcc/config/sparc/sparc.md
@@ -1028,50 +1028,52 @@
[(set_attr "type" "store")
(set_attr "length" "2")])
+;; ??? We get better code without it. See output_block_move in sparc.c.
+
;; The definition of this insn does not really explain what it does,
;; but it should suffice
;; that anything generated as this insn will be recognized as one
;; and that it will not successfully combine with anything.
-(define_expand "movstrsi"
- [(parallel [(set (mem:BLK (match_operand:BLK 0 "general_operand" ""))
- (mem:BLK (match_operand:BLK 1 "general_operand" "")))
- (use (match_operand:SI 2 "nonmemory_operand" ""))
- (use (match_operand:SI 3 "immediate_operand" ""))
- (clobber (match_dup 0))
- (clobber (match_dup 1))
- (clobber (match_scratch:SI 4 ""))
- (clobber (reg:SI 0))
- (clobber (reg:SI 1))])]
- ""
- "
-{
- /* If the size isn't known, don't emit inline code. output_block_move
- would output code that's much slower than the library function.
- Also don't output code for large blocks. */
- if (GET_CODE (operands[2]) != CONST_INT
- || GET_CODE (operands[3]) != CONST_INT
- || INTVAL (operands[2]) / INTVAL (operands[3]) > 16)
- FAIL;
+;(define_expand "movstrsi"
+; [(parallel [(set (mem:BLK (match_operand:BLK 0 "general_operand" ""))
+; (mem:BLK (match_operand:BLK 1 "general_operand" "")))
+; (use (match_operand:SI 2 "nonmemory_operand" ""))
+; (use (match_operand:SI 3 "immediate_operand" ""))
+; (clobber (match_dup 0))
+; (clobber (match_dup 1))
+; (clobber (match_scratch:SI 4 ""))
+; (clobber (reg:SI 0))
+; (clobber (reg:SI 1))])]
+; ""
+; "
+;{
+; /* If the size isn't known, don't emit inline code. output_block_move
+; would output code that's much slower than the library function.
+; Also don't output code for large blocks. */
+; if (GET_CODE (operands[2]) != CONST_INT
+; || GET_CODE (operands[3]) != CONST_INT
+; || INTVAL (operands[2]) / INTVAL (operands[3]) > 16)
+; FAIL;
+;
+; operands[0] = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
+; operands[1] = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
+; operands[2] = force_not_mem (operands[2]);
+;}")
- operands[0] = copy_to_mode_reg (Pmode, XEXP (operands[0], 0));
- operands[1] = copy_to_mode_reg (Pmode, XEXP (operands[1], 0));
- operands[2] = force_not_mem (operands[2]);
-}")
-
-(define_insn ""
- [(set (mem:BLK (match_operand:SI 0 "register_operand" "+r"))
- (mem:BLK (match_operand:SI 1 "register_operand" "+r")))
- (use (match_operand:SI 2 "nonmemory_operand" "rn"))
- (use (match_operand:SI 3 "immediate_operand" "i"))
- (clobber (match_dup 0))
- (clobber (match_dup 1))
- (clobber (match_scratch:SI 4 "=&r"))
- (clobber (reg:SI 0))
- (clobber (reg:SI 1))]
- ""
- "* return output_block_move (operands);"
- [(set_attr "type" "multi")
- (set_attr "length" "6")])
+;(define_insn ""
+; [(set (mem:BLK (match_operand:SI 0 "register_operand" "+r"))
+; (mem:BLK (match_operand:SI 1 "register_operand" "+r")))
+; (use (match_operand:SI 2 "nonmemory_operand" "rn"))
+; (use (match_operand:SI 3 "immediate_operand" "i"))
+; (clobber (match_dup 0))
+; (clobber (match_dup 1))
+; (clobber (match_scratch:SI 4 "=&r"))
+; (clobber (reg:SI 0))
+; (clobber (reg:SI 1))]
+; ""
+; "* return output_block_move (operands);"
+; [(set_attr "type" "multi")
+; (set_attr "length" "6")])
;; Floating point move insns