This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

[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;
     }


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