Uh oh!
There was an error while loading. Please reload this page.
Remove Vector<T> fallbacks for Vector128<T> - #85916
Conversation
ghost
commented
May 8, 2023
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?
|
adamsitnik
left a comment
There was a problem hiding this comment.
This PR warms my hart, I hope we can remove this code path ;)
stephentoub
commented
May 12, 2023
@SamMonoRT, any insights here? |
fanyang-mono
commented
May 12, 2023
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. |
stephentoub
commented
May 12, 2023
Thanks. Do we have an ETA for appx when that will happen? |
radekdoulik
commented
May 12, 2023
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. |
fanyang-mono
commented
May 15, 2023
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. |
fanyang-mono
commented
May 15, 2023
I don't know atm, maybe in .NET9 time frame, but can't say for sure. |
stephentoub
commented
May 15, 2023
@fanyang-mono, are you saying then that it's important these |
fanyang-mono
commented
May 15, 2023
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 |
stephentoub
commented
May 15, 2023
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 :-) |
stephentoub
commented
Jun 8, 2023
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
f4817f9Comparestephentoub
commented
Jun 8, 2023
I've updated the PR to just ifdef the |
stephentoub
commented
Jun 8, 2023
@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? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
SamMonoRT
commented
Jun 8, 2023
@fanyang-mono - need to make sure we track the cleanup of this file once the implementations are completed on our side. |
fanyang-mono
commented
Jun 8, 2023
Updated #86272 |
stephentoub
commented
Jun 8, 2023
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?