Scheduling x86 dispatch windows

H.J. Lu
Sun Jun 13 20:05:00 GMT 2010

On Sat, Jun 12, 2010 at 8:15 AM, H.J. Lu <> wrote:
> On Fri, Jun 11, 2010 at 3:42 PM, Quentin Neill
> <> wrote:
>> On Thu, Jun 10, 2010 at 5:23 PM, H.J. Lu <> wrote:
>>> [snip]
>>> x86 assembler isn't an optimizing assembler. -mtune only does
>>> instruction selection.  What you are proposing sounds like an optimizing
>>> assembler to me. Are we going to support scheduling, macro, ...?
>>> --
>>> H.J.
>> Just to clarify, we are not doing scheduling or macros.   The
>> assembler already supported alignment and padding using .align and
>> friends, which can be from the compiler and from hand-written
>> assembly.
>> Now we are seeing more complex alignment rules that are not as simple
>> as it used to be for the older hardware.  It will be almost impossible
>> for an assembly programmer to insert the right directives, not to
>> mention any change might invalidate previous alignments.   Assembly
>> programmers will be out of luck (that is, unless the compiler becomes
>> the assembler).
> If you can find a way to help assembly programmers via new directives,
> it is great.  GNU x86 assembler should just translate assembly code
> into binary code. The output of "objdump -d" should be identical
> to the input assembly.
> We shouldn't turn GNU x86 assembler into an optimizing assembler.
> Next people may ask assembler to remove redundant instructions, ...
> Right now, when something goes wrong, people don't have to debug
> assembler since it is very unlikely that the problem is in assembler.
> When assembler starts to make changes to assembly input, we have
> another place where a bug may be introduced.
>> The essence is we want to insert prefixes (as well as nops) according
>> to certain rules known at encoding time.  The mechanism implementing
>> these rules can be abstracted (table driven?) and could be applicable
>> to any hardware having similar features.
> Can you implement them with new directives/pseudo instructions?

I think you should take a look at


More information about the Binutils mailing list