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: 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


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