Scheduling x86 dispatch windows
Fri Jun 11 02:48:00 GMT 2010
On Thu, Jun 10, 2010 at 5:40 PM, Daniel Jacobowitz <email@example.com> wrote:
> On Thu, Jun 10, 2010 at 02:03:03PM -0600, Jeff Law wrote:
>> That adds quite a bit of complication to the compiler though --
>> getting the instruction lengths right (and thus proper packing &
>> alignment) can be extremely difficult. I did some experiments with
>> this on a target with *fixed* instruction lengths a while back and
>> even though the port tried hard to get lengths right, it would
>> routinely miss something. Ultimately I decided that it forcing the
>> compiler to know instruction lengths with a very high degree of
>> accuracy wasn't a sane thing to do.
> FWIW, my opinion (and I think Jakub has expressed a similar opinion
> and/or tool in the past) is that there is a sane way to do this: put
> assertions in the assembler output and have the assembler validate
> On the other hand, I'm not going to argue that it's a lot of work.
> Daniel Jacobowitz
When you say "put assertions in the assembler output" I understood it
to mean "in the assembly source code output by the compiler", not "the
output produced by the assembler".
Does this qualify as a form of what you are suggesting? Because this
is exactly what is being proposed:
.balign 8 # start window
insn op, op # 67 67 XX YY ZZ - padded with 2 prefixes to make 8
insn2 op, op # AA BB CC
.padalign 8 # window boundary
. . .
More information about the Binutils