diff options
Diffstat (limited to 'src/zap/zapper.cpp')
-rw-r--r-- | src/zap/zapper.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/zap/zapper.cpp b/src/zap/zapper.cpp index 26d9c4e2cf..5e5d190346 100644 --- a/src/zap/zapper.cpp +++ b/src/zap/zapper.cpp @@ -1188,6 +1188,15 @@ void Zapper::InitializeCompilerFlags(CORCOMPILE_VERSION_INFO * pVersionInfo) #endif // _TARGET_X86_ +#if defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) + // If we're compiling CoreLib, allow RyuJIT to generate SIMD code so that we can expand some + // of the hardware intrinsics. + if (m_pEECompileInfo->GetAssemblyModule(m_hAssembly) == m_pEECompileInfo->GetLoaderModuleForMscorlib()) + { + m_pOpt->m_compilerFlags.Set(CORJIT_FLAGS::CORJIT_FLAG_FEATURE_SIMD); + } +#endif // defined(_TARGET_X86_) || defined(_TARGET_AMD64_) || defined(_TARGET_ARM64_) + if ( m_pOpt->m_compilerFlags.IsSet(CORJIT_FLAGS::CORJIT_FLAG_DEBUG_INFO) && m_pOpt->m_compilerFlags.IsSet(CORJIT_FLAGS::CORJIT_FLAG_DEBUG_CODE) && m_pOpt->m_compilerFlags.IsSet(CORJIT_FLAGS::CORJIT_FLAG_PROF_ENTERLEAVE)) |