You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve BMI2 MultiplyNoFlags APIs
The current Bmi2.MultiplyNoFlags API follows the C/C++ intrinsic design that returns lower half of the result and stores the higher half in memory via a pointer of out argument. According to feedback dotnet/coreclr#18712 (comment), the API returning higher half is more useful for developers and simpler to implement and optimize for compiler writers. So, we suggest changing the API to:
public static unsafe uint MultiplyNoFlags(uint left, uint right);
public static unsafe uint MultiplyNoFlags(uint left, uint right, uint* lower);
The text was updated successfully, but these errors were encountered:
Improve BMI2 MultiplyNoFlags APIs
The current Bmi2.MultiplyNoFlags API follows the C/C++ intrinsic design that returns lower half of the result and stores the higher half in memory via a pointer of out argument. According to feedback dotnet/coreclr#18712 (comment), the API returning higher half is more useful for developers and simpler to implement and optimize for compiler writers. So, we suggest changing the API to:
public static unsafe uint MultiplyNoFlags(uint left, uint right);
public static unsafe uint MultiplyNoFlags(uint left, uint right, uint* lower);
The text was updated successfully, but these errors were encountered: