Commit 9c36061e by Jeff Law

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

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
parent caba9473
......@@ -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" "")
......
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