{st%U0%X0|stw%U0%X0} %1,%0
{lil|li} %0,%1
{liu|lis} %0,%u1
- cal %0,%1(%*)
+ {cal|la} %0,%1(%*)
mf%1 %0
mt%0 %1
mt%0 %1
(set_attr "length" "8,8,8,*,*,*")])
(define_insn ""
- [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,f,f,m,r,*h")
- (match_operand:DI 1 "input_operand" "r,m,r,I,J,f,m,f,*h,r"))]
+ [(set (match_operand:DI 0 "nonimmediate_operand" "=r,r,m,r,r,r,f,f,m,r,*h")
+ (match_operand:DI 1 "input_operand" "r,m,r,I,J,R,f,m,f,*h,r"))]
"TARGET_POWERPC64 && (gpc_reg_operand (operands[0], DImode)
|| gpc_reg_operand (operands[1], DImode))"
"@
sd%U0%X0 %1,%0
li %0,%1
lis %0,%u1
+ {cal|la} %0,%1(%*)
fmr %0,%1
lfd%U1%X1 %0,%1
stfd%U0%X0 %1,%0
mf%1 %0
mt%0 %1"
- [(set_attr "type" "*,load,*,*,*,fp,fpload,*,*,mtjmpr")])
+ [(set_attr "type" "*,load,*,*,*,*,fp,fpload,*,*,mtjmpr")])
\f
;; TImode is similar, except that we usually want to compute the address into
;; a register and use lsi/stsi (the exception is during reload). MQ is also