diff --git a/src/coreclr/src/zap/zapinfo.cpp b/src/coreclr/src/zap/zapinfo.cpp index e997efa396b1e..ff12d9631621d 100644 --- a/src/coreclr/src/zap/zapinfo.cpp +++ b/src/coreclr/src/zap/zapinfo.cpp @@ -2171,8 +2171,11 @@ DWORD FilterNamedIntrinsicMethodAttribs(ZapInfo* pZapInfo, DWORD attribs, CORINF fTreatAsRegularMethodCall = fIsGetIsSupportedMethod && fIsPlatformHWIntrinsic; #if defined(TARGET_ARM64) - // On Arm64 AdvSimd ISA is required by CoreCLR, so we can expand Vector64 and Vector128 methods. - fTreatAsRegularMethodCall |= !fIsPlatformHWIntrinsic && fIsHWIntrinsic && (strcmp(className, "Vector64`1") != 0) && (strcmp(className, "Vector128`1") != 0); + // On Arm64 AdvSimd ISA is required by CoreCLR, so we can expand Vector64 and Vector128 generic methods (e.g. Vector64.get_Zero) + // as well as Vector64 and Vector128 methods (e.g. Vector128.CreateScalarUnsafe). + fTreatAsRegularMethodCall |= !fIsPlatformHWIntrinsic && fIsHWIntrinsic + && (strncmp(className, "Vector64", _countof("Vector64") - 1) != 0) + && (strncmp(className, "Vector128", _countof("Vector128") - 1) != 0); #else fTreatAsRegularMethodCall |= !fIsPlatformHWIntrinsic && fIsHWIntrinsic; #endif