Re: .../asm-i386/bitops.h performance improvements

From: cutaway
Date: Wed Jun 15 2005 - 18:22:34 EST


Ummm, in simple terms - this statement is flat out 100% wrong.

LEA with the SIB byte has been around since 386 and is included on every CPU
Linux is capable of running on.

Compile this using -m386 and look at the ASM listing file and convince
yourself.

unsigned int foo(int bar)
{
return ((bar<<3)+bar);
}

GCC is going to generate a MOV of parm to EAX, then a LEA EAX,[EAX+EAX*8]

Don't trust me - compile this and prove it to yourself.


----- Original Message -----
From: "Bodo Eggert" <harvested.in.lkml@xxxxxxxxxxxxxxxxxxxxxxxxxx>
To: "Gene Heskett" <gene.heskett@xxxxxxxxxxx>; <cutaway@xxxxxxxxxxxxx>;
<linux->
>
> However, the multiplicator is not documented for i486, therefore it will
be a i586
> extension.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/