[llvm-dev] Restrict global constructors to base ISA

Jeffrey Walton via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 5 03:28:15 PST 2018


On Mon, Dec 3, 2018 at 2:30 PM Friedman, Eli <efriedma at codeaurora.org> wrote:
> ...
> > How do we tell Clang to use the base ISA for global constructors?
>
> There isn't any way to specifically restrict the ISA for global
> constructors/inline functions/etc.  The inverse works, though: you can
> specify the base ISA for the whole file, then mark specific functions
> using __attribute__((target("avx2"))).

It looks like this is becoming more of a problem as CPU advance and
folks try to add multiple implementations.
https://stackoverflow.com/a/24136523/608639 .

The problem with attributes is, it is too new. They did not appear
until GCC 5 for x86_64, and GCC 6 for ARM. They also seem to be
missing for some platforms, like MIPS and PowerPC. We support back to
GCC 3 and Visual Studio 2002 for our sources so we need something more
more available.

Jeff


More information about the llvm-dev mailing list