This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: iwmmxt2 patch for binutils-2.16.92
On Wed, 20 Sep 2006, Bridge Wu wrote:
> There is a bug when integrating iwmmxt2. wldr[b/h] and wstr[b/h] will
> be assembled into illegal instruction if the immediate number is #0.
> This is because write_back bit is cleared in md_apply_fix(). I have
> fixed it in my patch.
>
> Test case:
> wldrb wr1, [r1], #0
> wldrh wr1, [r1], #0
> wstrb wr1, [r1], #0
> wstrh wr1, [r1], #0
>
> Joseph, I did not find the fix to this issue in your patch. Could you
> test it and merge it once confirmed?
You do not say what you expect these instructions to assemble to, and your
patch does not apply cleanly to current binutils CVS mainline so I cannot
tell what they assemble to with your patch. They are valid iWMMXt1
instructions without needing an iWMMXt2 patch; with my patch, and with
unpatched mainline, they assemble to
00000000 <.text> ec911000 wldrb wr1, [r1]
00000004 <.text+0x4> ecd11000 wldrh wr1, [r1]
00000008 <.text+0x8> ec811000 wstrb wr1, [r1]
0000000c <.text+0xc> ecc11000 wstrh wr1, [r1]
If there is a bug here, it would not seem to be one in my patch, since the
results are the same as without the patch. As such I hope this bug can be
considered separately from my patch; you can enter a report in binutils
Bugzilla, or submit a patch against current binutils mainline (currently
2.17.50 20060920) that fixes this bug (only) and includes testcases for
the assembler testsuite.
--
Joseph S. Myers
joseph@codesourcery.com