Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: 64-bit machines

Author: Robert Hyatt

Date: 09:04:31 02/10/03

Go up one level in this thread


On February 10, 2003 at 00:44:13, Tom Kerrigan wrote:

>On February 09, 2003 at 23:39:04, Matt Taylor wrote:
>
>>>Compilers that inline code and do "fastcalls" negate any benefit that register
>>>windowing gives you.
>>On an architecture like Sparc or IA-64 that gives you enough registers to do so.
>>Let's start counting...I have 8 registers on IA-32...1 used as frame pointer...1
>>as stack pointer...3 get preserved by convention...hmm. I guess that leaves -3-
>>registers for "fastcall" convention. This is why IA-32 usually doesn't even
>>bother with fastcall.
>
>Sure, programmer visible registers. Doesn't the P6 have 40 rename registers? Who
>knows how many the P4 has.

That is irrelevant however.  The "callee" still has to stuff stuff on the stack
before it can
use a register, or it can't "see" the value after the register is
re-initialized.  So a push
(or two or three)....


>
>>nothing by passing parameters in registers when the called function has to turn
>>around and put them on the stack again because it needs registers for
>>computation.
>
>Hmm. The computations that my functions do tend to require the arguments that
>are passed to them.

I think you misunderstood his point.  You generally can't (in a chess program)
pass
arguments in registers.  There aren't enough.  And even if you only pass 1-2-3
arguments
and do manage to use the fastcall approach, once you arrive at the callee, it
needs registers
to do something so push, push, push and you may as well have passed the
arguments on the
stack ignoring fastcall completely...

>
>>Not always. Crafty scales with clock speed, and it consistently blows the cache.
>>I can't explain that, but I haven't thought through it yet.
>
>Riiiiiiiiiight. You're going to be thinking for a very long time.
>
>What's the name of the program you've been using to read your processor's
>performance registers?
>
>-Tom





In my case it is a tiny bit of assembly code.  Not written by me.  I've seen it
on most
every linux distribution...




This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.