[arm] VFP_D0_D7_REGS in predicate vfp_register_operand

Submitted by Yao Qi on Nov. 30, 2010, 6:56 a.m.

Details

Message ID 4CF4A001.20505@codesourcery.com
State New
Headers show

Commit Message

Yao Qi Nov. 30, 2010, 6:56 a.m.
predicate "vfp_register_operand" returns false to VFP_D0_D7_REGS
registers, which is not correct.  This patch is to address this.

Regression test is not run, since this change is a little bit obvious.
OK for mainline?

Comments

Richard Earnshaw Dec. 1, 2010, 11:33 a.m.
On Tue, 2010-11-30 at 14:56 +0800, Yao Qi wrote:
> predicate "vfp_register_operand" returns false to VFP_D0_D7_REGS
> registers, which is not correct.  This patch is to address this.
> 
> Regression test is not run, since this change is a little bit obvious.
> OK for mainline?
> 
        * arm/predicates.md ("vfp_register_operand"): Return true for
        VFP_D0_D7_REGS classes.

OK

Patch hide | download patch | download mbox

gcc/
	* arm/predicates.md ("vfp_register_operand"): Return true for
	VFP_D0_D7_REGS classes.

diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md
index cbb2af7..bb0ff83 100644
--- a/gcc/config/arm/predicates.md
+++ b/gcc/config/arm/predicates.md
@@ -83,6 +83,7 @@ 
      to be a register operand.  */
   return (GET_CODE (op) == REG
 	  && (REGNO (op) >= FIRST_PSEUDO_REGISTER
+	      || REGNO_REG_CLASS (REGNO (op)) == VFP_D0_D7_REGS
 	      || REGNO_REG_CLASS (REGNO (op)) == VFP_LO_REGS
 	      || (TARGET_VFPD32
 		  && REGNO_REG_CLASS (REGNO (op)) == VFP_REGS)));