-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Arm64/Sve: Enable Sve only if vector length is 128 #104174
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
@dotnet/arm64-contrib |
Co-authored-by: Jan Kotas <[email protected]>
@@ -1514,8 +1514,8 @@ void EEJitManager::SetCpuInfo() | |||
uint32_t maxVectorTLength = (maxVectorTBitWidth / 8); | |||
uint64_t sveLengthFromOS = GetSveLengthFromOS(); |
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.
This method to be adjusted to return 0
on Windows with this change as otherwise we could be in an unsupported state since it's currently hardcoded as:
;; uint64_t GetSveLengthFromOS(void);
LEAF_ENTRY GetSveLengthFromOS
;; TODO-SVE: Remove the hardcoded value 128 and uncomment once CI machines are updated to use MASM 14.4 or later
;; rdvl x0, 1
mov x0, #128
ret lr
LEAF_END
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.
hhm, so this is the case where if windows is running on 256-bit machine, we shouldn't be returning 128-bits because that will falsely turn on SVE. Let me uncomment the right way to do it to see if helix machines got the assembler upgraded to understand rdvl
.
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.
alright, so that seemed to be working now.
In .NET 9, we will only support SVE if the system vector length of 128-bits. For supporting higher vector length, needs more work that will be done in future release.
References: