[CLN-list] drop i386 asm?

Richard B. Kreckel kreckel at ginac.de
Thu Nov 29 22:27:14 CET 2007


Hi Alexei,

Alexei Sheplyakov wrote:
> \begin{quote}
> CLN is speed efficient:
> 
> 	* The kernel of CLN has been written in assembly language for some
>     CPUs (`i386', `m68k', `sparc', `mips', `arm').
> \end{quote}
> 
> I can't say anything about m68k, arm, and mips, but on x86 GCC 
> generated code runs a bit faster. I checked this for -march={pentium[34],
> nocona,athlon,athlon-mp,k8}. Hence I propose to drop x86 asm, or at least
> to make -DNO_ASM the default.

Making -DNO_ASM th default would kill
a) the loop assembler code in cl_asm_i386_.cc and
b) the low-level arithmetic inline assembler code in cl_low.h.

I haven't run any benchmark but I would guess that a) is the reason for 
your performance finding on that selection of modern x86-compatible CPUs 
while b) is still giving a boost.

BTW: Have you turned off GMP support? I'm asking because a) hardly plays 
a role when configured --with-gmp but b) still does. (And almost 
everybody does use GMP, I guess.)

Cheers
   -richy.
-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>


More information about the CLN-list mailing list