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


On Tue, Jul 29, 2008 at 7:26 AM, Agner Fog <agner@agner.org> wrote:
> Michael Matz wrote:
>>
>> You must be doing something wrong.  If the compiler decides to inline the
>> string ops it either knows the size or you told it to do it anyway
>> (-minline-all-stringops or -minline-stringops-dynamically).  In both cases
>> will it use wider than byte moves when possible.
>>
>
> g++ (v. 4.2.3) without any options converts memcpy with unknown size to  rep
> movsb

Make sure to use -D__NO_STRING_INLINES to not get glibcs inline
implementation.

Richard.

> g++ with option -fno-builtin calls memcpy in libc
>
> The rep movs, stos, scas, cmps instructions are slower than function calls
> except in rare cases. The compiler should never use the string instructions.
> It is OK to use mov instructions if the size is known, but not string
> instructions.
>


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