vfp.md (movsf_vfp): Disparage w<->r alternatives.

2006-03-29  Paul Brook  <paul@codesourcery.com>

	* config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
	(movdf_vfp): Ditto.

From-SVN: r112504
This commit is contained in:
Paul Brook 2006-03-29 19:14:57 +00:00 committed by Paul Brook
parent 94a0c1fc2a
commit 221b2a6448
2 changed files with 11 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2006-03-29 Paul Brook <paul@codesourcery.com>
* config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
(movdf_vfp): Ditto.
2006-03-29 Sebastian Pop <pop@cri.ensmp.fr>
PR tree-optimization/26859

View File

@ -181,10 +181,12 @@
;; SFmode moves
;; Disparage the w<->r cases because reloading an invalid address is
;; preferable to loading the value via integer registers.
(define_insn "*movsf_vfp"
[(set (match_operand:SF 0 "nonimmediate_operand" "=w,r,w ,Uv,r ,m,w,r")
(match_operand:SF 1 "general_operand" " r,w,UvE,w, mE,r,w,r"))]
[(set (match_operand:SF 0 "nonimmediate_operand" "=w,?r,w ,Uv,r ,m,w,r")
(match_operand:SF 1 "general_operand" " ?r,w,UvE,w, mE,r,w,r"))]
"TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP
&& ( s_register_operand (operands[0], SFmode)
|| s_register_operand (operands[1], SFmode))"
@ -207,8 +209,8 @@
;; DFmode moves
(define_insn "*movdf_vfp"
[(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,r,r, m,w ,Uv,w,r")
(match_operand:DF 1 "soft_df_operand" " r,w,mF,r,UvF,w, w,r"))]
[(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,?r,r, m,w ,Uv,w,r")
(match_operand:DF 1 "soft_df_operand" " ?r,w,mF,r,UvF,w, w,r"))]
"TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP
&& ( register_operand (operands[0], DFmode)
|| register_operand (operands[1], DFmode))"