Patchwork [arm] VFP_D0_D7_REGS in predicate vfp_register_operand

login
register
mail settings
Submitter Yao Qi
Date Nov. 30, 2010, 6:56 a.m.
Message ID <4CF4A001.20505@codesourcery.com>
Download mbox | patch
Permalink /patch/73573/
State New
Headers show

Comments

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?
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

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)));