[libc-commits] [PATCH] D101895: [libc] Simplifies multi implementations
Guillaume Chatelet via Phabricator via libc-commits
libc-commits at lists.llvm.org
Thu May 6 09:01:36 PDT 2021
gchatelet added a comment.
In D101895#2742165 <https://reviews.llvm.org/D101895#2742165>, @sivachandra wrote:
>> I think we have the following scenarios:
>>
>> - we compile a release and we want to specify which target to compile for (right now this is what the compiler decide is the default).
>
> In other words, when compiling for the host, we will let the compiler decide the best options?
Compiling for the host means using `-march=native` / `-mcpu=native`. Here I'm just talking about compiling llvm-libc without any options.
That is: when doing a full build, what is the targeted architecture?
AFAIU right now, the compiler decides. With a new version of the compiler the default may change and the targeted architecture as well.
It may be best to explicitly say "I want to compile llvm-libc for haswell when on x86".
AFAICT compilers are being very conservative and by default you get SSE2 only for x86 (check predefined macros without specifying march <https://godbolt.org/z/6WrjzrEEd>).
This is the rationale behind https://reviews.llvm.org/D101991
>> - we compile a release via cross compilation (ARM compiled on x86 or vice versa), so we want to explicitly specify which arch to target.
>
> In other words, when cross-compiling, we will have to specify certain CMake vars explicitly?
Yes as for the previous bullet point I believe.
You always want to specify what you are targeting.
>> - we want to run benchmarks on a specific machine and want it to leverage -march/-mtune = native.
>
> Does it mean that benchmarks are always compiled for the host?
We want to be able to benchmark all the implementations, presumably the host one will perform best.
I removed this part from the patch but we will provide one benchmark per function and per implementation so people can easily test and compare them out.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101895/new/
https://reviews.llvm.org/D101895
More information about the libc-commits
mailing list