This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, committed] PowerPC GT const0_rtx patterns


	The generic sequences that do not use carry are better.

David

	* config/rs6000/rs6000.md (gt0<mode>): Delete.
	(gt0<mode>_compare): Delete.
	(neg_gt0<mode>): Delete.

Index: rs6000.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.399
diff -c -p -r1.399 rs6000.md
*** rs6000.md	18 Aug 2005 16:36:23 -0000	1.399
--- rs6000.md	19 Aug 2005 16:36:46 -0000
***************
*** 12401,12486 ****
  		    (const_int 0)))]
    "")
  
- (define_insn "*gt0si"
-   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- 	(gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- 	       (const_int 0)))]
-   "TARGET_32BIT"
-   "{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{sri|srwi} %0,%0,31"
-   [(set_attr "type" "three")
-    (set_attr "length" "12")])
- 
- (define_insn "*gt0di"
-   [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- 	(gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- 	       (const_int 0)))]
-   "TARGET_64BIT"
-   "subfic %0,%1,0\;addme %0,%0\;srdi %0,%0,63"
-   [(set_attr "type" "three")
-    (set_attr "length" "12")])
- 
- (define_insn ""
-   [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- 	(compare:CC
- 	 (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r,r")
- 		(const_int 0))
- 	 (const_int 0)))
-    (set (match_operand:SI 0 "gpc_reg_operand" "=r,r")
- 	(gt:SI (match_dup 1) (const_int 0)))]
-   "TARGET_32BIT"
-   "@
-    {sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{sri.|srwi.} %0,%0,31
-    #"
-   [(set_attr "type" "delayed_compare")
-    (set_attr "length" "12,16")])
- 
- (define_split
-   [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- 	(compare:CC
- 	 (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
- 		(const_int 0))
- 	 (const_int 0)))
-    (set (match_operand:SI 0 "gpc_reg_operand" "")
- 	(gt:SI (match_dup 1) (const_int 0)))]
-   "TARGET_32BIT && reload_completed"
-   [(set (match_dup 0)
- 	(gt:SI (match_dup 1) (const_int 0)))
-    (set (match_dup 2)
- 	(compare:CC (match_dup 0)
- 		    (const_int 0)))]
-   "")
- 
- (define_insn ""
-   [(set (match_operand:CC 2 "cc_reg_operand" "=x,?y")
- 	(compare:CC
- 	 (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r,r")
- 		(const_int 0))
- 	 (const_int 0)))
-    (set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
- 	(gt:DI (match_dup 1) (const_int 0)))]
-   "TARGET_64BIT"
-   "@
-    subfic %0,%1,0\;addme %0,%0\;srdi. %0,%0,63
-    #"
-   [(set_attr "type" "delayed_compare")
-    (set_attr "length" "12,16")])
- 
- (define_split
-   [(set (match_operand:CC 2 "cc_reg_not_cr0_operand" "")
- 	(compare:CC
- 	 (gt:DI (match_operand:DI 1 "gpc_reg_operand" "")
- 		(const_int 0))
- 	 (const_int 0)))
-    (set (match_operand:DI 0 "gpc_reg_operand" "")
- 	(gt:DI (match_dup 1) (const_int 0)))]
-   "TARGET_64BIT && reload_completed"
-   [(set (match_dup 0)
- 	(gt:DI (match_dup 1) (const_int 0)))
-    (set (match_dup 2)
- 	(compare:CC (match_dup 0)
- 		    (const_int 0)))]
-   "")
- 
  (define_insn ""
    [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
  	(gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
--- 12401,12406 ----
***************
*** 12733,12756 ****
  		    (const_int 0)))]
    "")
  
- (define_insn "*neg_gt0si"
-   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
- 	(neg:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
- 		       (const_int 0))))]
-   "TARGET_32BIT"
-   "{sfi|subfic} %0,%1,0\;{ame|addme} %0,%0\;{srai|srawi} %0,%0,31"
-   [(set_attr "type" "three")
-    (set_attr "length" "12")])
- 
- (define_insn "neg_gt0di"
-   [(set (match_operand:DI 0 "gpc_reg_operand" "=r")
- 	(neg:DI (gt:DI (match_operand:DI 1 "gpc_reg_operand" "r")
- 		       (const_int 0))))]
-   "TARGET_64BIT"
-   "subfic %0,%1,0\;addme %0,%0\;sradi %0,%0,63"
-   [(set_attr "type" "three")
-    (set_attr "length" "12")])
- 
  (define_insn ""
    [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
  	(neg:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "r")
--- 12653,12658 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]