This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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.
>