-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Remove Vector<T> fallbacks for Vector128<T> #85916
Conversation
Tagging subscribers to this area: @dotnet/area-system-memory Issue DetailsI believe the only reason we were keeping these around were some mono platforms that accelerated @fanyang-mono, @radekdoulik, are we able to remove these now?
|
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 PR warms my hart, I hope we can remove this code path ;)
@SamMonoRT, any insights here? |
In .NET8, we worked on intrinsifying Vector128 for mini JIT on arm64, but we haven't do that for amd64. I would hold on doing this, until that work is finished. |
Thanks. Do we have an ETA for appx when that will happen? |
On wasm this should be fine, the Vector128 coverage is pretty good. I can fill in if anything would regress. |
@fanyang-mono - We implemented a few Vector128 APIs on AMDx64 via our intern last year. Do we have a list of remaining ones ? -- Is this tracking issue accurate/updated - #66392 ? @stephentoub - AMDx64 is low priority for us, but we will evaluate and consider implementing remaining ones (based on Fan's response) this summer. I wouldn't expect that to be completed prior to Preview 7 at this time. |
The intern added support for Vector128 support with LLVM as backend for AMD64 last summer. We used the doc project file to track at that time. I will create an issue to clarify this, as what I remembered that most of the API's should be supported. |
I don't know atm, maybe in .NET9 time frame, but can't say for sure. |
@fanyang-mono, are you saying then that it's important these |
I just discussed this topic with my manager Sam, we understood the importance of this code change and are currently evaluating our options. Will keep you posted. The work is tracked by #86272 |
To be clear, we've lived with it for this long, we can live with it for a bit longer if necessary. It'd just be really nice to get rid of :-) |
To at least make some progress here, I will ifdef these code paths to just be for mono for now rather than deleting them entirely. Then at least for coreclr and nativeaot it won't impact corelib binaries for .NET 8. |
ifdef them to mono as they're not used by coreclr or nativeaot. They can be deleted instead once mono's Vector128 support improves.
3de41d9
to
f4817f9
Compare
I've updated the PR to just ifdef the |
@SamMonoRT, this should be a nop for mono so I assume you're ok with it. We can delete the code paths and improve maintainability when mono is ready @adamsitnik, @EgorBo, or @tannergooding, mind reviewing? |
@fanyang-mono - need to make sure we track the cleanup of this file once the implementations are completed on our side. |
Updated #86272 |
Thanks, all |
I believe the only reason we were keeping these around were some mono platforms that accelerated
Vector<T>
but notVector128<T>
...@fanyang-mono, @radekdoulik, are we able to remove these now?