[patch, nios2, committed] remove broken assembler dwim support

Sandra Loosemore sandra@codesourcery.com
Fri Nov 28 22:45:00 GMT 2014


The Nios II assembler has historically had an undocumented feature to 
map ORI/XORI/ANDI/ADDI onto ORHI (etc) when given an immediate operand 
with only high bits set.  Altera recently passed on a bug report where 
we found that this code was trying to apply the DWIM rewrite even when 
the high-bits-only operand was already explicitly modified with %hi or 
%lo.  They asked us to remove this feature rather than try to fix it, 
the rationale being that assembly-language programmers need to depend on 
the instructions being predictably encoded exactly as written.

GCC does not emit code that depends on this feature and Altera does not 
need it for their support libraries either.  If there's any other code 
out there that actually depends on it (or was using it inadvertently), 
it will now give an overflow error instead; I've modified the existing 
test case to check for the overflow error messages instead of the 
instruction substitution.

-Sandra

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas2.log
Type: text/x-log
Size: 659 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20141128/f0983463/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas2.patch
Type: text/x-patch
Size: 10045 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20141128/f0983463/attachment-0001.bin>


More information about the Binutils mailing list