You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cmake: add USE_ARCH_INTRINSICS and USE_COMPILER_BUILTINS CMake options
This introduces the USE_ARCH_INTRINSICS CMake option. It is enabled by
default.
Disabling it is meant to disable custom asm code and usage of intrinsincs
functions for the target platform in the Dæmon code base, it may also be
used by games built with the Dæmon common code base.
It is not meant to disable asm or intrinsincs usage in third-party libraries.
It is not meant to prevent the compiler to use such intrinsics in its
optimization passes.
It is not meant to disable the compiler flags we set to tell the compiler
to try to use such intrinsics in its optimization passes. For this, one
should disable USE_CPU_RECOMMENDED_FEATURES instead.
For obvious reason the asm code in the BREAKPOINT() implementation is not
meant to be disabled by USE_ARCH_INTRINSICS.
The macro syntax is: DAEMON_ARCH_INTRINSICS_(architecture)[_extension]
Examples:
- DAEMON_ARCH_INTRINSICS_i686: i686 specific code, including asm code.
- DAEMON_ARCH_INTRINSICS_i686_sse: i686 SSE specific code.
- DAEMON_ARCH_INTRINSICS_i686_sse2: i686 SSE2 specific code.
If a platform inherits feature from an parent platform, the parent
platform name is used. For example on amd64, the definition enabling
SSE code is DAEMON_ARCH_INTRINSICS_i686_sse, enabling SSE code on both
i686 with SSE and amd64 platforms. and both DAEMON_ARCH_INTRINSICS_amd64
and DAEMON_ARCH_INTRINSICS_i686 are available.
This also introduces USE_COMPILER_BUILTINS CMake option. It is enabled
by default.
Disabling it is meant to test the unknown compiler code.
0 commit comments