[multiple changes]
2006-01-20 Paul Brook <paul@codesourcery.com> Merge from csl-arm-branch. 2005-09-21 Kazu Hirata <kazu@codesourcery.com> * config/arm/arm.md (movdi): Force operands[1] to a register if we have a non-register source. (*arm_movdi, *movdf_soft_insn): Require that one of the operands be a register. * config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise. * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise. From-SVN: r110048
This commit is contained in:
parent
974c2c56f4
commit
d5b6e63794
|
@ -1,3 +1,14 @@
|
|||
2006-01-20 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
Merge from csl-arm-branch.
|
||||
2005-09-21 Kazu Hirata <kazu@codesourcery.com>
|
||||
* config/arm/arm.md (movdi): Force operands[1] to a register
|
||||
if we have a non-register source.
|
||||
(*arm_movdi, *movdf_soft_insn): Require that one of the
|
||||
operands be a register.
|
||||
* config/arm/iwmmxt.md (*iwmmxt_arm_movdi): Likewise.
|
||||
* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
|
||||
|
||||
2006-01-20 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* varasm.c (initialize_constant_valid_p): Allow pointers
|
||||
|
|
|
@ -4092,13 +4092,10 @@
|
|||
(match_operand:DI 1 "general_operand" ""))]
|
||||
"TARGET_EITHER"
|
||||
"
|
||||
if (TARGET_THUMB)
|
||||
if (!no_new_pseudos)
|
||||
{
|
||||
if (!no_new_pseudos)
|
||||
{
|
||||
if (GET_CODE (operands[0]) != REG)
|
||||
operands[1] = force_reg (DImode, operands[1]);
|
||||
}
|
||||
if (GET_CODE (operands[0]) != REG)
|
||||
operands[1] = force_reg (DImode, operands[1]);
|
||||
}
|
||||
"
|
||||
)
|
||||
|
@ -4107,8 +4104,10 @@
|
|||
[(set (match_operand:DI 0 "nonimmediate_di_operand" "=r, r, r, r, m")
|
||||
(match_operand:DI 1 "di_operand" "rDa,Db,Dc,mi,r"))]
|
||||
"TARGET_ARM
|
||||
&& !(TARGET_HARD_FLOAT && (TARGET_MAVERICK || TARGET_VFP))
|
||||
&& !TARGET_IWMMXT"
|
||||
&& !(TARGET_HARD_FLOAT && (TARGET_MAVERICK || TARGET_VFP))
|
||||
&& !TARGET_IWMMXT
|
||||
&& ( register_operand (operands[0], DImode)
|
||||
|| register_operand (operands[1], DImode))"
|
||||
"*
|
||||
switch (which_alternative)
|
||||
{
|
||||
|
@ -5272,7 +5271,8 @@
|
|||
[(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=r,r,r,r,m")
|
||||
(match_operand:DF 1 "soft_df_operand" "rDa,Db,Dc,mF,r"))]
|
||||
"TARGET_ARM && TARGET_SOFT_FLOAT
|
||||
"
|
||||
&& ( register_operand (operands[0], DFmode)
|
||||
|| register_operand (operands[1], DFmode))"
|
||||
"*
|
||||
switch (which_alternative)
|
||||
{
|
||||
|
|
|
@ -66,7 +66,9 @@
|
|||
(define_insn "*iwmmxt_arm_movdi"
|
||||
[(set (match_operand:DI 0 "nonimmediate_di_operand" "=r, r, m,y,y,yr,y,yrUy")
|
||||
(match_operand:DI 1 "di_operand" "rIK,mi,r,y,yr,y,yrUy,y"))]
|
||||
"TARGET_REALLY_IWMMXT"
|
||||
"TARGET_REALLY_IWMMXT
|
||||
&& ( register_operand (operands[0], DImode)
|
||||
|| register_operand (operands[1], DImode))"
|
||||
"*
|
||||
{
|
||||
switch (which_alternative)
|
||||
|
|
|
@ -148,7 +148,9 @@
|
|||
(define_insn "*arm_movdi_vfp"
|
||||
[(set (match_operand:DI 0 "nonimmediate_di_operand" "=r, r,m,w,r,w,w, Uv")
|
||||
(match_operand:DI 1 "di_operand" "rIK,mi,r,r,w,w,Uvi,w"))]
|
||||
"TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP"
|
||||
"TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP
|
||||
&& ( register_operand (operands[0], DImode)
|
||||
|| register_operand (operands[1], DImode))"
|
||||
"*
|
||||
switch (which_alternative)
|
||||
{
|
||||
|
@ -207,7 +209,9 @@
|
|||
(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"))]
|
||||
"TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP"
|
||||
"TARGET_ARM && TARGET_HARD_FLOAT && TARGET_VFP
|
||||
&& ( register_operand (operands[0], DFmode)
|
||||
|| register_operand (operands[1], DFmode))"
|
||||
"*
|
||||
{
|
||||
switch (which_alternative)
|
||||
|
|
Loading…
Reference in New Issue