diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_35144/Runtime_35144.csproj b/src/tests/JIT/Regression/JitBlue/Runtime_35144/Runtime_35144.csproj index 986494e092b5aa..656bedde102452 100644 --- a/src/tests/JIT/Regression/JitBlue/Runtime_35144/Runtime_35144.csproj +++ b/src/tests/JIT/Regression/JitBlue/Runtime_35144/Runtime_35144.csproj @@ -1,6 +1,7 @@ Exe + 1 diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_35724/Runtime_35724.cs b/src/tests/JIT/Regression/JitBlue/Runtime_35724/Runtime_35724.cs new file mode 100644 index 00000000000000..a465beaee766cd --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_35724/Runtime_35724.cs @@ -0,0 +1,29 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using System; +using System.Numerics; +using System.Runtime.CompilerServices; + +// SIMD8 could be retyped as a long in the past and if that long value was CSE-ed together with original SIMD8 +// values we could hit an assert `IsCompatibleType(cseLclVarTyp, expTyp)`. + +class Runtime_35724 +{ + [MethodImpl(MethodImplOptions.NoInlining)] + static Vector2 Test() + { + Vector2 a = new Vector2(1); + Vector2 b = new Vector2(2); + Vector2 c = a / b; + Vector2 d = a / b; + Console.WriteLine(c.X + d.Y); + return a / b; + } + + public static int Main() + { + Test(); + return 100; + } +} diff --git a/src/tests/JIT/Regression/JitBlue/Runtime_35724/Runtime_35724.csproj b/src/tests/JIT/Regression/JitBlue/Runtime_35724/Runtime_35724.csproj new file mode 100644 index 00000000000000..986494e092b5aa --- /dev/null +++ b/src/tests/JIT/Regression/JitBlue/Runtime_35724/Runtime_35724.csproj @@ -0,0 +1,12 @@ + + + Exe + + + + True + + + + +