Adding zmmStateSupport and AVX512F, AVX512CD, AVX512BW, AVX512DQ and AVX512VL ISAs.#74113
Conversation
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
eb454e9 to
fddf306
Compare
|
@tannergooding I cannot figure out where/how |
src/coreclr/tools/Common/JitInterface/ThunkGenerator/InstructionSetDesc.txt
Outdated
Show resolved
Hide resolved
I don't see any existing consumers, it might be dead code. |
|
There's still a couple of pending comments above and we need to revise the JIT/EE Version Guid here: https://github.com/dotnet/runtime/blob/main/src/coreclr/inc/jiteeversionguid.h Otherwise the changes look good/correct to me and I think we can adjust the |
975db44 to
5b0ef68
Compare
Have added the requested changes. |
|
Tagging the group... just to see it work... @dotnet/avx512-contrib |
Works for me. Got an email notification |
ddaef19 to
57a793f
Compare
@tannergooding I had originally missed your comment re JIT/EE Version Guid. I have updated it now following instruction in the file(ran "uuidgen.exe -s" locally and replaced the GUID in file with that). Please let me know if there is anything else needed from us to push this forward. |
57a793f to
98307a9
Compare
|
I've approved, but I'd like to see an approval from @tannergooding as well before we merge. |
tannergooding
left a comment
There was a problem hiding this comment.
LGTM, minus the question about the NAOT instruction set names
There was a problem hiding this comment.
This needs to be hooked up here:
There was a problem hiding this comment.
Looks like the AVX512 ISA checks need to be mirrored there as well.
There was a problem hiding this comment.
And the 'end' was in the wrong place :) . Have added the checks in startup.cpp
98307a9 to
c0371aa
Compare
This adds the helper functions to check if avx512 functionality is supported.
|
Failures are #75667 super-pmi failures are due to the JIT/EE version guid update timeouts are on a subset of arm/arm64 machines and are happening everywhere, this change is explicitly around xarch. |
This change adds logic for detecting avx512 support via
zmmStateSupportand the logic inEEJitManager::SetCpuInfo()For specifics of
zmmStateSupport- see section15.2 DETECTION OF AVX-512 FOUNDATION INSTRUCTIONSin Intel® 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4 for details.14.3 DETECTION OF AVX INSTRUCTIONSdetails logic used for AVX and SSE.The other changes are to add new AVX512 ISAs. Most of these changes are autogenerated code via
src/coreclr/tools/Common/JitInterface/ThunkGenerator/InstructionSetDesc.txt