This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Useless patterns in alpha.md
- To: gcc-patches at gcc dot gnu dot org
- Subject: Useless patterns in alpha.md
- From: Bernd Schmidt <bernds at pathia dot cygnus dot co dot uk>
- Date: Sun, 28 Nov 1999 10:32:10 +0000 (GMT)
If I understand correctly what these patterns are trying to do, they are
useless after the recent changes to register elimination. Elimination
should no longer change the structure of an insn in invalid ways.
Bernd
* alpha.md: Delete patterns that work around register elimination
problems.
Index: alpha.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/alpha/alpha.md,v
retrieving revision 1.97
diff -c -p -r1.97 alpha.md
*** alpha.md 1999/10/30 21:46:57 1.97
--- alpha.md 1999/11/28 10:12:27
***************
*** 670,766 ****
s%2addq %1,%3,%0
s%2subq %1,%n3,%0")
- ;; These variants of the above insns can occur if the third operand
- ;; is the frame pointer, or other eliminable register. E.g. some
- ;; register holding an offset from the stack pointer. This is a
- ;; kludge, but there doesn't seem to be a way around it. Only
- ;; recognize them while reloading.
-
- (define_insn ""
- [(set (match_operand:DI 0 "some_ni_operand" "=r,&r")
- (plus:DI (plus:DI (match_operand:DI 1 "some_operand" "%r,r")
- (match_operand:DI 2 "some_operand" "%r,r"))
- (match_operand:DI 3 "some_operand" "IOKL,r")))]
- "reload_in_progress"
- "#")
-
- (define_split
- [(set (match_operand:DI 0 "register_operand" "")
- (plus:DI (plus:DI (match_operand:DI 1 "register_operand" "")
- (match_operand:DI 2 "register_operand" ""))
- (match_operand:DI 3 "add_operand" "")))]
- "reload_completed"
- [(set (match_dup 0) (plus:DI (match_dup 1) (match_dup 2)))
- (set (match_dup 0) (plus:DI (match_dup 0) (match_dup 3)))]
- "")
-
- (define_insn ""
- [(set (match_operand:SI 0 "some_ni_operand" "=r,&r")
- (plus:SI (plus:SI (mult:SI (match_operand:SI 1 "some_operand" "rJ,rJ")
- (match_operand:SI 2 "const48_operand" "I,I"))
- (match_operand:SI 3 "some_operand" "%r,r"))
- (match_operand:SI 4 "some_operand" "IOKL,r")))]
- "reload_in_progress"
- "#")
-
- (define_split
- [(set (match_operand:SI 0 "register_operand" "")
- (plus:SI (plus:SI (mult:SI (match_operand:SI 1 "reg_or_0_operand" "")
- (match_operand:SI 2 "const48_operand" ""))
- (match_operand:SI 3 "register_operand" ""))
- (match_operand:SI 4 "add_operand" "rIOKL")))]
- "reload_completed"
- [(set (match_dup 0)
- (plus:SI (mult:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
- (set (match_dup 0) (plus:SI (match_dup 0) (match_dup 4)))]
- "")
-
- (define_insn ""
- [(set (match_operand:DI 0 "some_ni_operand" "=r,&r")
- (sign_extend:DI
- (plus:SI (plus:SI
- (mult:SI (match_operand:SI 1 "some_operand" "rJ,rJ")
- (match_operand:SI 2 "const48_operand" "I,I"))
- (match_operand:SI 3 "some_operand" "%r,r"))
- (match_operand:SI 4 "some_operand" "IO,r"))))]
- "reload_in_progress"
- "#")
-
- (define_split
- [(set (match_operand:DI 0 "register_operand" "")
- (sign_extend:DI
- (plus:SI (plus:SI
- (mult:SI (match_operand:SI 1 "reg_or_0_operand" "")
- (match_operand:SI 2 "const48_operand" ""))
- (match_operand:SI 3 "register_operand" ""))
- (match_operand:SI 4 "sext_add_operand" ""))))]
- "reload_completed"
- [(set (match_dup 5)
- (plus:SI (mult:SI (match_dup 1) (match_dup 2)) (match_dup 3)))
- (set (match_dup 0) (sign_extend:DI (plus:SI (match_dup 5) (match_dup 4))))]
- "operands[5] = gen_lowpart (SImode, operands[0]);")
-
- (define_insn ""
- [(set (match_operand:DI 0 "some_ni_operand" "=r,&r")
- (plus:DI (plus:DI (mult:DI (match_operand:DI 1 "some_operand" "rJ,rJ")
- (match_operand:DI 2 "const48_operand" "I,I"))
- (match_operand:DI 3 "some_operand" "%r,r"))
- (match_operand:DI 4 "some_operand" "IOKL,r")))]
- "reload_in_progress"
- "#")
-
- (define_split
- [(set (match_operand:DI 0 "register_operand" "")
- (plus:DI (plus:DI (mult:DI (match_operand:DI 1 "reg_or_0_operand" "")
- (match_operand:DI 2 "const48_operand" ""))
- (match_operand:DI 3 "register_operand" ""))
- (match_operand:DI 4 "add_operand" "")))]
- "reload_completed"
- [(set (match_dup 0)
- (plus:DI (mult:DI (match_dup 1) (match_dup 2)) (match_dup 3)))
- (set (match_dup 0) (plus:DI (match_dup 0) (match_dup 4)))]
- "")
-
(define_insn "negsi2"
[(set (match_operand:SI 0 "register_operand" "=r")
(neg:SI (match_operand:SI 1 "reg_or_8bit_operand" "rI")))]
--- 670,675 ----