Commit 1b245ade by Jan Hubicka Committed by Jan Hubicka

athlon.md, [...]: Handle shift1, rotate1

	* athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
	* i386.md (attribute type): Add type shift1 and rotate1.
	(*_slp): Rewrite to have just two operands to avoid reload problems.

From-SVN: r59147
parent 401d5362
Sat Nov 16 02:06:02 CET 2002 Jan Hubicka <jh@suse.cz>
* athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
* i386.md (attribute type): Add type shift1 and rotate1.
(*_slp): Rewrite to have just two operands to avoid reload problems.
2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md (4 anonymous patterns): New.
......
......@@ -63,7 +63,7 @@
(define_function_unit "athlon_ieu" 3 0
(and (eq_attr "cpu" "athlon")
(eq_attr "type" "alu1,negnot,alu,icmp,test,imov,imovx,lea,incdec,ishift,rotate,ibr,call,callv,icmov,cld,pop,setcc,push,pop"))
(eq_attr "type" "alu1,negnot,alu,icmp,test,imov,imovx,lea,incdec,ishift,ishift1,rotate,rotate1,ibr,call,callv,icmov,cld,pop,setcc,push,pop"))
1 1)
(define_function_unit "athlon_ieu" 3 0
......
......@@ -42,7 +42,7 @@
;; Shift instructions and certain arithmetic are issued only to X pipe.
(define_function_unit "k6_alux" 1 0
(and (eq_attr "cpu" "k6")
(eq_attr "type" "ishift,rotate,alu1,negnot,cld"))
(eq_attr "type" "ishift,ishift1,rotate,rotate1,alu1,negnot,cld"))
1 1)
;; The QI mode arithmetic is issued to X pipe only.
......@@ -54,7 +54,7 @@
(define_function_unit "k6_alu" 2 0
(and (eq_attr "cpu" "k6")
(eq_attr "type" "ishift,rotate,alu1,negnot,alu,icmp,test,imovx,incdec,setcc,lea"))
(eq_attr "type" "ishift,ishift1,rotate,rotate1,alu1,negnot,alu,icmp,test,imovx,incdec,setcc,lea"))
1 1)
(define_function_unit "k6_alu" 2 0
......
......@@ -53,6 +53,12 @@
(and (eq_attr "type" "rotate")
(match_operand 2 "const_int_1_operand" ""))
(const_string "pu")
(and (eq_attr "type" "ishift1")
(match_operand 1 "const_int_operand" ""))
(const_string "pu")
(and (eq_attr "type" "rotate1")
(match_operand 1 "const_int_1_operand" ""))
(const_string "pu")
(and (eq_attr "type" "call")
(match_operand 0 "constant_call_address_operand" ""))
(const_string "pv")
......
......@@ -60,7 +60,7 @@
(define_function_unit "ppro_p0" 1 0
(and (eq_attr "cpu" "pentiumpro")
(eq_attr "type" "ishift,rotate,lea,ibr,cld"))
(eq_attr "type" "ishift,rotate,ishift1,rotate1,lea,ibr,cld"))
1 1)
(define_function_unit "ppro_p0" 1 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment