This is the mail archive of the newlib@sourceware.org mailing list for the newlib 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: libm -fno-builtin


Hi Wilco,

>Removing -fno-builtin should have no negative effects except for eg. memcpy
where compilers
> can recognize an overly simplistic implementation and optimize it to a
call to memcpy... 
>I think you will need a -fno-builtin-memcpy when building the size
optimized
> version of libc/string/memcpy.c given it is marked with restrict.

Using -fno-builtin-memcpy doesn't prevent GCC from replacing a loop with a
call to memcpy (likewise for memset). As Joesph said before,
-fno-tree-loop-distribute-patterns should be used for that. However, this
probably it isn't needed, as this only gets enabled at -O3 anyway, and
Newlib compiles with O2.

Note that -fno-builtin does prevent this, oddly, but obviously we don't want
to use that.

Perhaps GCC should be a little bit more clever, and not try to use this
optimisation if the function called matches the name of the function being
compiled.

Cheers,
Jon


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