This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[arm] Incorrect iwmmxt load constraint


The iWMMXt wldrw/wstrw instructions use Arm coprocessor addressing modes, so 
should use the "Uy" constraint, not "m".

Applied to mainline and csl-arm-branch.

Paul

2005-01-22  Paul Brook  <paul@codesourcery.com>

 * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
Index: iwmmxt.md
===================================================================
RCS file: /var/cvsroot/gcc-cvs/gcc/gcc/config/arm/iwmmxt.md,v
retrieving revision 1.3.4.3
diff -u -p -r1.3.4.3 iwmmxt.md
--- iwmmxt.md	6 May 2004 14:16:20 -0000	1.3.4.3
+++ iwmmxt.md	22 Jan 2005 21:52:14 -0000
@@ -92,8 +92,8 @@
 )
 
 (define_insn "*iwmmxt_movsi_insn"
-  [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r, m,z,r,?z,m,z")
-	(match_operand:SI 1 "general_operand"      "rI,K,mi,r,r,z,m,z,z"))]
+  [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r, m,z,r,?z,Uy,z")
+	(match_operand:SI 1 "general_operand"      "rI,K,mi,r,r,z,Uy,z,z"))]
   "TARGET_REALLY_IWMMXT
    && (   register_operand (operands[0], SImode)
        || register_operand (operands[1], SImode))"

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]