PATCH: Add --alt-nops=short|long to x86/x86-64 assemblers
H. J. Lu
hjl@lucon.org
Wed Jun 14 15:14:00 GMT 2006
More information about the Binutils mailing list
Wed Jun 14 15:14:00 GMT 2006
- Previous message (by thread): PATCH: Add --alt-nops=short|long to x86/x86-64 assemblers
- Next message (by thread): PATCH: Add --alt-nops=short|long to x86/x86-64 assemblers
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Jun 14, 2006 at 08:31:50AM +0100, Nick Clifton wrote: > Hi H.J. > > >Since Pentium Pro, there are new nops instructions. This patch adds > >--alt-nops=short|long to x86/x86-64 assemblers. --alt-nops=short > >will generate a single nop instruction up to 10 bytes for code > >alignment. --alt-nops=long will generate a single nop instruction up > >to 15 bytes. Any comments? > > I am not familiar with the x86 instruction set, so please can you > explain why it is necessary to have these two different versions of the > nop and why the user has to select one ? ie if the space to be padded > is up to 10 bytes why can't the assembler just use the "short" version > automatically and if it is longer than 10 bytes use the "long" version ? x86/x86-64 assemblers need to fill the text section from 1 to 15 bytes for alignment. We have simple nop instructions for 1 to 10 bytes. For 11 to 15 bytes, we can add 0x66 prefix repeatedly to 10 byte nop to get 11-15byte nops. However some processors prefer simple nops. That is, 3 0x66 prefixes on the 10 byte nop are slower on those processors than a 6 byte nop + a 7 byte nop. User can use --alt-nops=short to avoid repeated 0x66 prefixes. Maybe we can use something other than short|long. But I don't have a better name. H.J.
- Previous message (by thread): PATCH: Add --alt-nops=short|long to x86/x86-64 assemblers
- Next message (by thread): PATCH: Add --alt-nops=short|long to x86/x86-64 assemblers
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list