Created based on an example generated by Antigen.
using System.Runtime.CompilerServices;
public class Program
{
public static void Main(string[] args)
{
S s = default;
if (args.Length > 0)
{
s.A = 1234;
}
Foo(0, 0, s, s);
}
[MethodImpl(MethodImplOptions.NoInlining)]
private static void Foo(int a, int b, S s1, S s2)
{
}
public struct S
{
public int A;
}
}
Run on win-x86 with
$env:DOTNET_JitNoCse=1
$env:DOTNET_JitStressModeNames="STRESS_NO_OLD_PROMOTION STRESS_PHYSICAL_PROMOTION_COST"
$env:DOTNET_TieredCompilation=0