Commit ae6669e7 by Dale Johannesen Committed by Dale Johannesen

rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.


2004-02-23  Dale Johannesen  <dalej@apple.com>

	* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
	(movdf_hardfloat64):  Ditto.

From-SVN: r78322
parent 2a9f2ad3
2004-02-23 Dale Johannesen <dalej@apple.com>
* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
(movdf_hardfloat64): Ditto.
2004-02-23 Kazu Hirata <kazu@cs.umass.edu> 2004-02-23 Kazu Hirata <kazu@cs.umass.edu>
* convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c, * convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
......
...@@ -7888,8 +7888,8 @@ ...@@ -7888,8 +7888,8 @@
}") }")
(define_insn "*movsf_hardfloat" (define_insn "*movsf_hardfloat"
[(set (match_operand:SF 0 "nonimmediate_operand" "=!r,!r,m,f,f,m,!cl,!q,!r,!r,!r") [(set (match_operand:SF 0 "nonimmediate_operand" "=!r,!r,m,f,f,m,!cl,!q,!r,!h,!r,!r")
(match_operand:SF 1 "input_operand" "r,m,r,f,m,f,r,r,h,G,Fn"))] (match_operand:SF 1 "input_operand" "r,m,r,f,m,f,r,r,h,0,G,Fn"))]
"(gpc_reg_operand (operands[0], SFmode) "(gpc_reg_operand (operands[0], SFmode)
|| gpc_reg_operand (operands[1], SFmode)) || gpc_reg_operand (operands[1], SFmode))
&& (TARGET_HARD_FLOAT && TARGET_FPRS)" && (TARGET_HARD_FLOAT && TARGET_FPRS)"
...@@ -7903,10 +7903,11 @@ ...@@ -7903,10 +7903,11 @@
mt%0 %1 mt%0 %1
mt%0 %1 mt%0 %1
mf%1 %0 mf%1 %0
nop
# #
#" #"
[(set_attr "type" "*,load,store,fp,fpload,fpstore,*,mtjmpr,*,*,*") [(set_attr "type" "*,load,store,fp,fpload,fpstore,*,mtjmpr,*,*,*,*")
(set_attr "length" "4,4,4,4,4,4,4,4,4,4,8")]) (set_attr "length" "4,4,4,4,4,4,4,4,4,4,4,8")])
(define_insn "*movsf_softfloat" (define_insn "*movsf_softfloat"
[(set (match_operand:SF 0 "nonimmediate_operand" "=r,cl,q,r,r,m,r,r,r,r,r,*h") [(set (match_operand:SF 0 "nonimmediate_operand" "=r,cl,q,r,r,m,r,r,r,r,r,*h")
...@@ -8163,8 +8164,8 @@ ...@@ -8163,8 +8164,8 @@
; ld/std require word-aligned displacements -> 'Y' constraint. ; ld/std require word-aligned displacements -> 'Y' constraint.
; List Y->r and r->Y before r->r for reload. ; List Y->r and r->Y before r->r for reload.
(define_insn "*movdf_hardfloat64" (define_insn "*movdf_hardfloat64"
[(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,!cl,!r,!r,!r,!r") [(set (match_operand:DF 0 "nonimmediate_operand" "=Y,r,!r,f,f,m,!cl,!r,!h,!r,!r,!r")
(match_operand:DF 1 "input_operand" "r,Y,r,f,m,f,r,h,G,H,F"))] (match_operand:DF 1 "input_operand" "r,Y,r,f,m,f,r,h,0,G,H,F"))]
"TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS "TARGET_POWERPC64 && TARGET_HARD_FLOAT && TARGET_FPRS
&& (gpc_reg_operand (operands[0], DFmode) && (gpc_reg_operand (operands[0], DFmode)
|| gpc_reg_operand (operands[1], DFmode))" || gpc_reg_operand (operands[1], DFmode))"
...@@ -8177,11 +8178,12 @@ ...@@ -8177,11 +8178,12 @@
stfd%U0%X0 %1,%0 stfd%U0%X0 %1,%0
mt%0 %1 mt%0 %1
mf%1 %0 mf%1 %0
nop
# #
# #
#" #"
[(set_attr "type" "*,load,store,fp,fpload,fpstore,mtjmpr,*,*,*,*") [(set_attr "type" "*,load,store,fp,fpload,fpstore,mtjmpr,*,*,*,*,*")
(set_attr "length" "4,4,4,4,4,4,4,4,8,12,16")]) (set_attr "length" "4,4,4,4,4,4,4,4,4,8,12,16")])
(define_insn "*movdf_softfloat64" (define_insn "*movdf_softfloat64"
[(set (match_operand:DF 0 "nonimmediate_operand" "=r,Y,r,cl,r,r,r,r,*h") [(set (match_operand:DF 0 "nonimmediate_operand" "=r,Y,r,cl,r,r,r,r,*h")
......
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