-
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
Consider defaulting AltJIT to all ISAs enabled #41518
Comments
CC. @CarolEidt, @kunalspathak, @echesakovMSFT |
To be particular, it's only the non-VM-matching, or cross-targeting, altjits where you want this. (It's possible to have same-platform, same-architecture altjit, but more rare these days.) |
It might be beneficial to do it (or have an opt-in) even for same-architecture. I'm thinking of cases like AVX-512 or SVE, where the amount of hardware we have that supports it is limited but where you might want to observe and do basic validation of the emitted assembly. |
I've often thought this would be a good idea, but never got around to filing an issue.
IIRC we used to be able to do this, but lost the ability when we added more (and generally better) ISA support. |
Marking as Future, it's nice to have, but not critical for 6.0 release. |
The AltJIT allows one to preview the jitted code for other architectures (such as ARM from x64) or platforms (such as Linux from Windows).
However, certain JIT settings, such as the ISAs used, are largely dependent on the machine being run against and so you cannot currently check codegen for something like
X86.Avx2
if your underlying hardware doesn't support it. Nor can you check for something likeArm.Dp
from a x64 machine.It would therefore be beneficial to default the AltJIT such that all ISAs are enabled by default. Individual ISAs can then be disabled by using the
COMPlus_Enable{IsaName}=0
flags (e.g.COMPlus_EnableAvx2=0
).This will allow codegen via an altjit to be easily checked against multiple different hardware configurations.
category:implementation
theme:altjit
skill-level:beginner
cost:small
The text was updated successfully, but these errors were encountered: