tooling quality and some random rant
Don
nospam at nospam.com
Tue Feb 15 05:13:22 PST 2011
Walter Bright wrote:
> Don wrote:
>> In hand-coded asm, instruction scheduling still gives more than half
>> of the same benefit that it used to do. But, it's become ten times
>> more difficult. You have to use Agner Fog's manuals, not Intel/AMD.
>>
>> For example:
>> (1) a common bottleneck on all Intel processors, is that you can only
>> read from three registers per cycle, but you can also read from any
>> register which has been modified in the last three cycles.
>> (2) it's important to break dependency chains.
>>
>> On the BigInt code, instruction scheduling gave a speedup of ~40%.
>
> Wow. I didn't know that. Do any compilers currently schedule this stuff?
Intel probably does. I don't think any others do a very good job. Agner
told me that he had had no success in getting compiler vendors to be
interested in his work.
> Any chance you want to take a look at cgsched.c? I had great success
> using the same algorithm for the quite different Pentium and P6
> scheduling minutia.
That would really be fun.
BTW, the current Intel processors are basically the same as Pentium Pro,
with a few improvements. The strange thing is, because of all of the
reordering that happens, swapping the order of two (non-dependent)
instructions makes no difference at all. So you always need to look at
every instruction in the a loop, before you can do any scheduling.
More information about the Digitalmars-d
mailing list