This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[arm] Incorrect iwmmxt load constraint
- From: Paul Brook <paul at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Daniel Jacobowitz <dan at codesourcery dot com>
- Date: Sat, 22 Jan 2005 22:23:15 +0000
- Subject: [arm] Incorrect iwmmxt load constraint
- Organization: CodeSourcery
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))"