-
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
Test failure System.Numerics.Tests.Matrix4x4Tests.Matrix4x4CreateShadowTest02 #83316
Comments
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch, @kunalspathak Issue DetailsFailed in Run: runtime-coreclr libraries-jitstress2-jitstressregs 20230311.1 Failed tests:
Error message:
Stack trace:
|
@tannergooding PTAL. |
Failed again in: runtime-coreclr libraries-jitstress2-jitstressregs 20230513.1 Failed tests:
�Error message:
�Stack trace:
� |
Still failing @kunalspathak This apparently only fails in JitStressRegs=3; maybe you should take a look? |
Failed again in: runtime-coreclr libraries-jitstress2-jitstressregs 20230527.1 Failed tests:
Error message:
Stack trace:
|
Failed again in: runtime-coreclr libraries-jitstress2-jitstressregs 20230603.1 Failed test:
Error message:
|
Failed again in: runtime-coreclr libraries-jitstress2-jitstressregs 20230610.1 Failed tests:
�Error message:
�Stack trace:
� |
@tannergooding @kunalspathak Since this is only failing under JitStressRegs=3 I assigned it to Kunal. |
Taking a look now. |
The problematic code is the following: public void Matrix4x4CreateShadowTest02()
{
if (lightDirInfo.Length() < 0.1f)
continue;
Vector3 lightDir = Vector3.Normalize(lightDirInfo);
...
...
}
[Intrinsic]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public readonly float Length()
{
float lengthSquared = LengthSquared();
return MathF.Sqrt(lengthSquared);
}
[Intrinsic]
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static Vector3 Normalize(Vector3 value)
{
return value / value.Length();
} Here, we CSE G_M15576_IG58: ;; offset=0187H
vmovss dword ptr [rsp+58H], xmm6
;; size=6 bbWeight=16 PerfScore 16.00
G_M15576_IG59: ;; offset=018DH
vsqrtss xmm7, xmm7, xmm6
;; size=4 bbWeight=16 PerfScore 176.00
G_M15576_IG60: ;; offset=0191H
vmovss xmm6, dword ptr [rsp+5CH]
;; size=6 bbWeight=16 PerfScore 48.00
G_M15576_IG61: ;; offset=0197H
vucomiss xmm6, xmm7
;; size=4 bbWeight=16 PerfScore 32.00
G_M15576_IG62: ;; offset=019BH
ja G_M15576_IG166
;; size=6 bbWeight=16 PerfScore 16.00
G_M15576_IG63: ;; offset=01A1H
vmovss xmm7, dword ptr [rsp+58H]
;; size=6 bbWeight=8 PerfScore 24.00
G_M15576_IG64: ;; offset=01A7H
vsqrtps xmm7, xmm7
;; size=4 bbWeight=8 PerfScore 88.00
G_M15576_IG65: ;; offset=01ABH
vdivps xmm7, xmm2, xmm7
The public static Vector3 operator /(Vector3 value1, float value2)
{
return value1 / new Vector3(value2);
}
[Intrinsic]
public Vector3(float value) : this(value, value, value)
{
} which seems that there are one or both the problems:
Still investigating. |
Mostly caused by #81335. JitStressRegs seems to just highlight the problem where we end up spilling the value. |
Noting this comes down to a CSE of Need to determine why VN decides these can be CSE'd even though they have differing return types. |
Failed again in: runtime-coreclr libraries-jitstress2-jitstressregs 20230624.1 Failed tests:
Error message:
Stack trace:
|
Failed again in: runtime-coreclr libraries-jitstress2-jitstressregs 20230701.1 Failed tests:
Error message:
Stack trace:
|
Assigning to @tannergooding to resolve other problems that does not necessarily show up in this issue. |
Failed in Run: runtime-coreclr libraries-jitstress2-jitstressregs 20230311.1
Failed tests:
Error message:
Stack trace:
The text was updated successfully, but these errors were encountered: