Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question for the Crafty/Compiler experts

Author: Robert Hyatt

Date: 08:20:03 02/19/04

Go up one level in this thread


On February 19, 2004 at 08:12:32, Dieter Buerssner wrote:

>On February 18, 2004 at 20:45:32, Robert Hyatt wrote:
>
>>How are you testing?  IE when I use intel's compiler, with PGO, the inline is
>>faster here.  Not significantly, but still faster...
>
>I used gcc without PGO (was too lazy to do the profile run). I added
>-DINLINE_ASM to the CFLAGS and removed the asm= for the linux target. First I
>had removed -DUSE_ASSEMBLY, but that didn't compile, because then the versions
>in boolean.c would also be compiled. So, I added the DUSE_ASSEMBLY again (and
>ignored the warning about static declaration follows extern declaration, which
>IMO does not really matter). I did not use icc, because it says:

If you grab the latest version, it will compile with ICC.  For some reason, the
cmovxx version would make ICC go belly-up with "fatal compiler error, unable to
dynamically assign a register."  Perhaps the bug you pointed out previously.
The current inlinex86.h works fine with icc anyway, at least with version 8
which is all I am using.



>
>#   -INLINE_ASM       Compiles with the Intel assembly code for FirstOne(),
>#                     LastOne() and PopCnt().  This is for gcc-style inlining
>#                     and thoroughly breaks the Intel C/C++ compiler at the
>#                     present (version 8.0).
>#
>
>in the Makefile.
>
>Regards,
>Dieter


At least you do read things.  :)

However those comments have been fixed,  in version 19.11.  I thought the new
asm (inline) was in 19.10, but it was not.  19.10 still used the old X86.s as
the fastest code.   I just released 19.11 so that you can grab it and test to
see if it is faster for you as well, now, to use the inlinex86.h.  Note that the
right compile option is now just -DINLINE_ASM, the old -DUSE_ASSEMBLY is no
longer needed.  -DINLINE_ASM also excludes the matching boolean.c functions to
avoid the problem you had seen...

Bob



This page took 0 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.