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:
parent
caba9473d7
commit
9c36061e48
@ -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" "")
|
||||
|
Loading…
Reference in New Issue
Block a user