-
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
Vector<T> operator+ does not generate NotSupportedException
on arm32.
#37506
Comments
CC. @jeffhandley, this is a breaking-change but one we should take as we get two different behaviors based on whether SIMD support is enabled or disabled. You should also be able to hit this scenario on When |
Thanks, @tannergooding. Can you follow our usual process for documenting this as a 5.0 breaking change? And I presume we would not back-port this fix to 3.x; does that match your expectation? |
@tannergooding @CarolEidt @sandreenko why would we expect Vector to work? I thought |
We don't expect it to work, we expect it to throw a |
As per the above...
For the majority of scenarios this is the case, however there are some scenarios such as We wouldn't bring this for 3.x because:
We want to fix this in 5.0 because:
CC. @marklio and @PriyaPurkayastha for approval. |
This seems reasonable. I'd add a couple of things for framing the impact of the break (correct if I'm wrong):
|
Both points are correct 😄 |
@tannergooding Should you own this issue? |
Yes. I've assigned and will work on getting a fix up. |
* Reenable GitHub_26491. Closes #13355 * Reenable crossgen2 tests failing with old retyping/ They were fixed both with and without retyping. Closes #37883. * Reenable HVA merge cases. Closes #37341, closes #37880. * Reenable GitHub_35821. Closes #36206, closes #36418. The issue was fixed by #37499. * Delete extra lines that are no longer needed. #37506 was fixed in #38241. * delete a throwing init.
We are expecting the following test to pass:
but on arm32 it hits the assert, based on @tannergooding analysis it happens because on arm32 we don't have
IsHardwareAccelerated
, so we go to the else condition inVector<T> operator +
:https://source.dot.net/#System.Private.CoreLib/Vector.cs,729
and the else branch is missing something like (in my understanding):
https://source.dot.net/#System.Private.CoreLib/Vector.cs,826
similar to the
IsHardwareAccelerated
block.cc @CarolEidt
JitDump confirms that we are not doing addition and just generate `default:
Addition.txt
The text was updated successfully, but these errors were encountered: