-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating XML doc comments for hardware intrinsics to include VEX and EVEX forms #84892
Conversation
Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics Issue DetailsAs per the title this is just an update to the XML docs and some minor reordering of the APIs to be alphabetical (which helps when comparing against the instruction manuals, etc). This was done as part of a pre-pass to adding the V512 variants to Avx512F, Avx512BW, Avx512CD, and Avx512DQ. The updated docs simply list out all the possible forms for the instruction (
|
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx.cs
Outdated
Show resolved
Hide resolved
...braries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs
Outdated
Show resolved
Hide resolved
...braries/System.Private.CoreLib/src/System/Runtime/Intrinsics/X86/Avx.PlatformNotSupported.cs
Outdated
Show resolved
Hide resolved
/// __m128 _mm_cmpnge_ss (__m128 a, __m128 b) | ||
/// CMPSS xmm, xmm/m32, imm8(6) with swapped operands | ||
/// int _mm_comile_ss (__m128 a, __m128 b) | ||
/// COMISS xmm1, xmm2/m32 ; PF=0 && (ZF=1 || CF=1) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the addition of the flags values 👍
Co-authored-by: Clinton Ingram <[email protected]>
/// The above native signature does not exist. We provide this additional overload for consistency with the other scalar APIs. | ||
/// </summary> | ||
public static Vector128<float> SqrtScalar(Vector128<float> upper, Vector128<float> value) { throw new PlatformNotSupportedException(); } | ||
|
||
/// <summary> | ||
/// void _mm_storeu_ps (float* mem_addr, __m128 a) | ||
/// MOVUPS m128, xmm1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
xmm
instead of xmm1
since there is no xmm2
? (here and elsewhere)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The standardized encoding the architecture manuals is to use xmm1
, so we follow it here
As per the title this is just an update to the XML docs and some minor reordering of the APIs to be alphabetical (which helps when comparing against the instruction manuals, etc).
This was done as part of a pre-pass to adding the V512 variants to Avx512F, Avx512BW, Avx512CD, and Avx512DQ. The updated docs simply list out all the possible forms for the instruction (
legacy
,vex
, andevex
forms, where previously we often only listed 1 of the 3).