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]

Re: [ARM] PATCH: Fix offset range for WLDRD/WSTRD instruction


Hi Khem,

Which turned out to be a problem in assembler. WLDRD instruction can have offsets ranging from -1023 to +1023
It was using a check between -255 to +255

Oops - thanks for catching this bug.


I also modified the test case to include this case in the testsuite.
Is it ok?

Mostly.


Your patch fixed the offset checking, but it also enabled "Unindexed" addressing for the WLDRD and WSTRD instructions. These instructions do not use Unindexed addressing, so I have removed that part of your change.

I have also extended your patch to the testsuite slightly so that a bigger offset is used for the WSTRD and WSTRW instructions and also to add a test for the error messages that should be produced when bad offsets are given for these instructions.

gas
2005-08-02  Khem Raj  <kraj@mvista.com>

   * config/tc-arm.c (do_iwmmxt_wldstd): Correct the offset range
   for WLDRD/WSTRD instruction.

gas/testsuite
2005-08-02  Khem Raj  <kraj@mvista.com>

   * gas/arm/iwmmxt.s: Change the offset value of WLDRD instruction
         to be larger than +/-255.
   * gas/arm/iwmmxt.d: Fix the expected results for WLDRD instruction

Approved and applied, along with:


gas/testsuite/ChangeLog
2005-08-03  Nick Clifton  <nickc@redhat.com>

	* gas/arm/iwmmxt-bad2.s: New file: Check for error messages about
	erroneous offsets in iwmmxt instructions.  Cannot be part of
	iwmmxt-bad.s because the errors there stop the assembler before it
	gets to check the offsets in instructions.
	* gas/arm/iwmmxt-bad2.d: New file.
	* gas/arm/iwmmxt-bad2.l: New file: Expected error messages.


Cheers Nick


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