Scheduling x86 dispatch windows
Sun Jun 13 20:05:00 GMT 2010
On Sat, Jun 12, 2010 at 8:15 AM, H.J. Lu <email@example.com> wrote:
> On Fri, Jun 11, 2010 at 3:42 PM, Quentin Neill
> <firstname.lastname@example.org> wrote:
>> On Thu, Jun 10, 2010 at 5:23 PM, H.J. Lu <email@example.com> wrote:
>>> 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, ...?
>> 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
>> 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