diff --git a/src/coreclr/vm/codeman.cpp b/src/coreclr/vm/codeman.cpp index 3ba4071e9417a6..a1bf0bc4c6bfa2 100644 --- a/src/coreclr/vm/codeman.cpp +++ b/src/coreclr/vm/codeman.cpp @@ -1423,7 +1423,13 @@ void EEJitManager::SetCpuInfo() CPUCompileFlags.Set(InstructionSet_Sha256); } - if (((cpuFeatures & ARM64IntrinsicConstants_Sve) != 0) && CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_EnableArm64Sve)) + if (((cpuFeatures & ARM64IntrinsicConstants_Sve) != 0) && CLRConfig::GetConfigValue(CLRConfig::EXTERNAL_EnableArm64Sve) +#ifdef FEATURE_INTERPRETER + // SVE intrinsics support for the FFR register adds a new concept of per method saved logical FFR state + // which the interpreter does not model. + && !g_pConfig->EnableInterpreter() +#endif + ) { uint32_t maxVectorTLength = (maxVectorTBitWidth / 8); uint64_t sveLengthFromOS = GetSveLengthFromOS();