This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [ARM] PATCH: Fix offset range for WLDRD/WSTRD instruction
- From: Nick Clifton <nickc at redhat dot com>
- To: Khem Raj <kraj at mvista dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Wed, 03 Aug 2005 10:56:38 +0100
- Subject: Re: [ARM] PATCH: Fix offset range for WLDRD/WSTRD instruction
- References: <42F00904.1040402@mvista.com>
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