This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[patch] Arm obsolete shift constraint
- From: Paul Brook <paul at codesourcery dot com>
- To: binutils at sourceware dot org
- Date: Thu, 2 Feb 2006 14:32:24 +0000
- Subject: [patch] Arm obsolete shift constraint
Thumb-2 removes the requirement that source and destination be the same be for
register variable shift instructions. The patch below removes that
constraint from the equivalent Arm pseudo-instruction.
Tested with cross to arm-none-eabi.
Ok?
Paul
2006-02-02 Paul Brook <paul@codesourcery.com>
* config/tc-arm.c (do_shift): Remove Thumb-1 constraint.
Index: gas/config/tc-arm.c
===================================================================
RCS file: /var/cvsroot/src-cvs/src/gas/config/tc-arm.c,v
retrieving revision 1.239
diff -u -p -r1.239 tc-arm.c
--- gas/config/tc-arm.c 2 Feb 2006 13:32:01 -0000 1.239
+++ gas/config/tc-arm.c 2 Feb 2006 14:20:47 -0000
@@ -5278,8 +5279,6 @@ do_shift (void)
inst.instruction |= Rm;
if (inst.operands[2].isreg) /* Rd, {Rm,} Rs */
{
- constraint (inst.operands[0].reg != Rm,
- _("source1 and dest must be same register"));
inst.instruction |= inst.operands[2].reg << 8;
inst.instruction |= SHIFT_BY_REG;
}