Open
Description
See dotnet/coreclr#17637 for some discussion and context.
The fundamental issues revolve around how much of the behavior should be controlled by enums passed into the intrinsic method, versus separating the different behaviors into differently-named intrinsics.
The current API includes both StringComparisonMode
(https://github.com/dotnet/corefx/blob/master/src/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs#L864) and ResultsFlag
(https://github.com/dotnet/corefx/blob/master/src/System.Runtime.Intrinsics/ref/System.Runtime.Intrinsics.cs#L875).
Some of the open questions are:
- Should the
ResultsFlag
, which determines the comparison results for which a true result is returned, become part of the method name? - How should these be named? According to the instruction documentation (e.g.
CFlag
, as in the current API), or something more descriptive likeCompareNonZeroMask
? - Should these be combined into a single
enum
or remain separate?