bb31125c94
CPUID is part of x86_64 ISA to query CPU features. In order to determine AVX512F ISA extension, EAX and ECX needs to be set to 7 and 0 respectively before invoking `cpuid` instruction. This commit also removes inline assembly for __cpuid in favor of using compiler provided intrinsic functions. Both GCC and clang provides __cpuid like function via __cpuid_count intrinsic. This commit also creates a portable wrapper over compiler intrinsic functions, __cpuid and __cpuidex. `cpuid' provides base level ISA query and `cpuidex` provides extra extension information like AVX512F. These wrappers lean towards MSVC like API. References: CPUID Docs: https://en.wikipedia.org/wiki/CPUID GCC's ``docs" on __cpuid_count: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/i386/cpuid.h Clang's docs on __cpuid_count: https://clang.llvm.org/doxygen/cpuid_8h.html MSVC's docs on __cpuid and __cpuidex: https://learn.microsoft.com/en-us/cpp/intrinsics/cpuid-cpuidex |
||
---|---|---|
doc | ||
gtk2_ardour | ||
headless | ||
libs | ||
luasession | ||
msvc_extra_headers | ||
MSVCardour3 | ||
MSVCMixbus3 | ||
MSVCvst_scan | ||
session_utils | ||
share | ||
tools | ||
.dir-locals.el | ||
.gitattributes | ||
.gitignore | ||
ardour.1 | ||
COPYING | ||
nutempo-todo | ||
PACKAGER_README | ||
README | ||
README-GITHUB.txt | ||
system_config | ||
TRANSLATORS | ||
waf | ||
wscript |
Please see the Ardour web site at https://ardour.org/ for all documentation.. For information on building ardour: https://ardour.org/development.html