This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc will become the best optimizing x86 compiler


Hi,

On Tue, 29 Jul 2008, Agner Fog wrote:

> g++ (v. 4.2.3) without any options converts memcpy with unknown size to  rep
> movsb

Use newer GCCs.  They will (1) not expand memcpy inline for unknown sizes 
(without special options, also make sure you don't get the glibc inlines) 
and (2) won't expand to movsb.

> The rep movs, stos, scas, cmps instructions are slower than function 
> calls except in rare cases.

Depends on the microarchitecture.  For AMD Fam10 for instance REP prefixes 
are the preferred form for sizes between page-size and half of L1 size, 
when destination is aligned.

> The compiler should never use the string instructions. It is OK to use 
> mov instructions if the size is known, but not string instructions.

General statements are generally wrong :)


Ciao,
Michael.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]