Useless patterns in alpha.md

Bernd Schmidt bernds@pathia.cygnus.co.uk
Sun Nov 28 02:32:00 GMT 1999


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 ----



More information about the Gcc-patches mailing list