-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Vector2.One
is not always <1, 1> in some case (silent bad codegen)
#54466
Comments
Any chance you can share a complete test that reproduces the problem? If you are unable to create a small repro and you are not confortable sharing the application that hits the problem publicily, would you be willing to share it privately? My email address is in my github profile. |
Yeah, I can sent you a repro sample by email. Wait a moment. |
@jkotas A repro sample project is sent to you. The |
BTW, I have tested with old |
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
@ryancheung Thank you for sharing the repro! This is a bug in the current .NET 6 preview builds. I have transfered to dotnet/runtime repo. |
cc @dotnet/jit-contrib |
Thanks for the repro @ryancheung , I will take a look. |
Reduced repro - Windows x64, repros at commit 9c0bf21 :
COMPlus_TieredCompilation=0
)Actual result:
Expected result: passes without asserts or errors
I have some code:
The
Vector2.One
passed to method calls is not actually equal toVector2.One
in NativeAOT sometimes. It returns<6.28E-43, 5.27E-43>
instead. But everything is fine is CoreCLR. And I'm sure the value of thescale
parameter is always <1, 1> in all code logic.The workaround I found: Change the method call parameter
Vector2.One
tonew Vector2(1, 1)
.Which looks like:
The text was updated successfully, but these errors were encountered: