@@ -3566,51 +3566,6 @@ GenTree* Compiler::impIntrinsic(CORINFO_CLASS_HANDLE clsHnd,
35663566 retNode = impArrayAccessIntrinsic (clsHnd, sig, memberRef, readonlyCall, ni);
35673567 break ;
35683568
3569- case NI_System_String_Equals:
3570- {
3571- retNode = impUtf16StringComparison (StringComparisonKind::Equals, sig, methodFlags);
3572- break ;
3573- }
3574-
3575- case NI_System_MemoryExtensions_Equals:
3576- case NI_System_MemoryExtensions_SequenceEqual:
3577- {
3578- retNode = impUtf16SpanComparison (StringComparisonKind::Equals, sig, methodFlags);
3579- break ;
3580- }
3581-
3582- case NI_System_String_StartsWith:
3583- {
3584- retNode = impUtf16StringComparison (StringComparisonKind::StartsWith, sig, methodFlags);
3585- break ;
3586- }
3587-
3588- case NI_System_String_EndsWith:
3589- {
3590- retNode = impUtf16StringComparison (StringComparisonKind::EndsWith, sig, methodFlags);
3591- break ;
3592- }
3593-
3594- case NI_System_MemoryExtensions_StartsWith:
3595- {
3596- retNode = impUtf16SpanComparison (StringComparisonKind::StartsWith, sig, methodFlags);
3597- break ;
3598- }
3599-
3600- case NI_System_MemoryExtensions_EndsWith:
3601- {
3602- retNode = impUtf16SpanComparison (StringComparisonKind::EndsWith, sig, methodFlags);
3603- break ;
3604- }
3605-
3606- case NI_System_MemoryExtensions_AsSpan:
3607- case NI_System_String_op_Implicit:
3608- {
3609- assert (sig->numArgs == 1 );
3610- isSpecial = impStackTop ().val ->OperIs (GT_CNS_STR);
3611- break ;
3612- }
3613-
36143569 case NI_System_String_get_Chars:
36153570 {
36163571 GenTree* op2 = impPopStack ().val ;
@@ -4908,6 +4863,13 @@ GenTree* Compiler::impIntrinsic(CORINFO_CLASS_HANDLE clsHnd,
49084863 break ;
49094864 }
49104865
4866+ case NI_System_String_OrdinalEqualsIgnoreCase:
4867+ {
4868+ // We'll try to fold/unroll this in VN for constant input.
4869+ isSpecial = true ;
4870+ break ;
4871+ }
4872+
49114873 case NI_System_SpanHelpers_Fill:
49124874 {
49134875 if (sig->sigInst .methInstCount == 1 )
@@ -10937,6 +10899,16 @@ NamedIntrinsic Compiler::lookupNamedIntrinsic(CORINFO_METHOD_HANDLE method)
1093710899 }
1093810900 }
1093910901 }
10902+ else if (strcmp (namespaceName, " Globalization" ) == 0 )
10903+ {
10904+ if (strcmp (className, " Ordinal" ) == 0 )
10905+ {
10906+ if (strcmp (methodName, " EqualsIgnoreCase" ) == 0 )
10907+ {
10908+ result = NI_System_String_OrdinalEqualsIgnoreCase;
10909+ }
10910+ }
10911+ }
1094010912 else if (strcmp (namespaceName, " Numerics" ) == 0 )
1094110913 {
1094210914 if (strcmp (className, " BitOperations" ) == 0 )
0 commit comments