Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stop supporing old compilers #337

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 5 additions & 23 deletions ruy/platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,31 +98,13 @@ limitations under the License.
// Determine whether to enable X86 non-portable performance improvements,
// typically x86 SIMD paths (AVX, etc).
#if defined(RUY_FORCE_ENABLE_X86_ENHANCEMENTS)
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
#elif defined(__EMSCRIPTEN__)
// We use some x86 asm e.g. in runtime CPU detection and to implement missing
// intrinsics. This can't build to Emscripten.
#define RUY_PLATFORM_X86_ENHANCEMENTS 0
#elif defined(__ANDROID_NDK__) && defined(__NDK_MAJOR__) && \
(__NDK_MAJOR__ >= 20)
// Enable on sufficiently recent Android NDK. Earlier versions had broken
// intrinsics headers.
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
#elif (defined(__APPLE_) || defined(__linux__)) && defined(__clang__) && \
(__clang_major__ >= 8)
// Enable on recent versions of Clang. Might be possible
// to relax this version requirement.
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
#elif defined(__GNUC__) && (__GNUC__ >= 9)
// Enable on recent versions of GCC. Might be possible
// to relax this version requirement.
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
// Things are working on MSVC 2019. This should also enable on sufficiently
// recent Clang-CL.
#elif defined(_MSC_VER) && (_MSC_VER >= 1920)
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
// We use some x86 asm e.g. in runtime CPU detection and to implement missing
// intrinsics. This can't build to Emscripten.
#define RUY_PLATFORM_X86_ENHANCEMENTS 0
#else
#define RUY_PLATFORM_X86_ENHANCEMENTS 0
#define RUY_PLATFORM_X86_ENHANCEMENTS 1
#endif

// These CPU capabilities will all be true when Skylake, etc, are enabled during
Expand Down