pa.md (add high part and dp register): Split into two patterns, one for normal code, one for kernels.

* pa.md (add high part and dp register): Split into two patterns,
	one for normal code, one for kernels.  Kernel version only allows
	"r1" as the destination register.

From-SVN: r2298
This commit is contained in:
Jeff Law 1992-10-01 11:06:29 -06:00
parent caba9473d7
commit 9c36061e48

View File

@ -751,13 +751,23 @@
[(set (match_operand:SI 0 "register_operand" "=a,&?*r")
(plus:SI (match_operand:SI 1 "register_operand" "r,r")
(high:SI (match_operand 2 "" ""))))]
""
"!TARGET_KERNEL"
"@
addil L'%G2,%1
ldil L'%G2,%0\;add %0,%1,%0"
[(set_attr "type" "binary,binary")
(set_attr "length" "1,2")])
(define_insn ""
[(set (match_operand:SI 0 "register_operand" "=a")
(plus:SI (match_operand:SI 1 "register_operand" "r")
(high:SI (match_operand 2 "" ""))))]
"TARGET_KERNEL"
"@
addil L'%G2,%1"
[(set_attr "type" "binary")
(set_attr "length" "1")])
(define_split
[(set (match_operand:SI 0 "register_operand" "")
(plus:SI (match_operand:SI 1 "register_operand" "")