This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Scheduling x86 dispatch windows
On Thu, Jun 10, 2010 at 5:40 PM, Daniel Jacobowitz <dan@codesourcery.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
> them.
>
> On the other hand, I'm not going to argue that it's a lot of work.
> --
> Daniel Jacobowitz
> CodeSourcery
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
insn4 op
. . .
--
Quentin Neill