Skip to content
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

Use AVX2 in codegen for GT_STORE_BLK #55604

Merged
merged 32 commits into from
Sep 18, 2021

Conversation

alexcovington
Copy link
Contributor

Modifies JIT to allow generating AVX2 instructions when generating code for GT_STORE_BLK nodes when AVX2 is available and the compiler allows for it.

Test case I have been using:

Test Source
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.InteropServices;

namespace MemsetMemcpyTest
{
    class Program
    {
        static void Main(string[] args) => BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args);

    }

    public class MemWrapper
    {
        private const long ITERS = 10_000_000;
        private const int MIN_SIZE = 3;
        private const int MAX_SIZE = 13;
        private readonly int TOTAL_SIZES = MAX_SIZE - MIN_SIZE;
        private byte[] _src;
        private byte[] _dest;

        [ParamsSource(nameof(ArraySizes))]
        public int N { get; set; }

        public IEnumerable<int> ArraySizes()
        {
            int[] sizes = new int[TOTAL_SIZES * 2];

            // Arrays that will fit in SIMD regsiters with no remainder
            for (int i = MIN_SIZE; i < MAX_SIZE; i++)
                sizes[i - MIN_SIZE] = 1 << i;

            // Arrays that will have some remainder after SIMD moves
            for (int i = MIN_SIZE; i < MAX_SIZE; i++)
                sizes[i - MIN_SIZE + TOTAL_SIZES] = (1 << i) + 2;

            return sizes;
        } 

        [IterationSetup]
        public void Setup()
        {
            _src = new byte[N];
            _dest = new byte[N];
            Random r = new();

            r.NextBytes(_src);
        }

        
        [Benchmark]
        public void Copy()
        {
            for (long i = 0; i < ITERS; i++)
            {
                Array.Copy(_src, _dest, N);
            }
        }
    }
}
Results
// * Summary *

BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19042.1083 (20H2/October2020Update)
AMD Ryzen 7 5800, 1 CPU, 16 logical and 8 physical cores
.NET SDK=6.0.100-preview.2.21155.3
  [Host]     : .NET 6.0.0 (6.0.21.15406), X64 RyuJIT
  Job-ANMJNY : .NET 6.0.0 (42.42.42.42424), X64 RyuJIT
  Job-YSRVRX : .NET 6.0.0 (42.42.42.42424), X64 RyuJIT

InvocationCount=1  UnrollFactor=1

| Method |        Job |                                                                                                        Toolchain |    N |      Mean |     Error |    StdDev |    Median | Ratio | RatioSD |
|------- |----------- |----------------------------------------------------------------------------------------------------------------- |----- |----------:|----------:|----------:|----------:|------:|--------:|
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |    8 |  42.96 ms |  0.014 ms |  0.012 ms |  42.96 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |    8 |  43.02 ms |  0.130 ms |  0.109 ms |  42.96 ms |  1.00 |    0.00 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   10 |  42.99 ms |  0.053 ms |  0.044 ms |  42.98 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   10 |  42.96 ms |  0.017 ms |  0.015 ms |  42.96 ms |  1.00 |    0.00 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   16 |  45.82 ms |  0.004 ms |  0.003 ms |  45.82 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   16 |  42.96 ms |  0.009 ms |  0.008 ms |  42.95 ms |  0.94 |    0.00 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   18 |  40.68 ms |  0.785 ms |  1.435 ms |  40.10 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   18 |  42.45 ms |  0.836 ms |  1.571 ms |  43.22 ms |  1.04 |    0.05 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   32 |  42.98 ms |  0.019 ms |  0.017 ms |  42.98 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   32 |  42.50 ms |  0.839 ms |  1.091 ms |  42.97 ms |  0.99 |    0.03 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   34 |  43.17 ms |  0.668 ms |  0.625 ms |  42.96 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   34 |  43.31 ms |  0.817 ms |  0.682 ms |  42.97 ms |  1.00 |    0.02 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   64 |  45.86 ms |  0.072 ms |  0.060 ms |  45.84 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   64 |  47.14 ms |  0.911 ms |  1.216 ms |  46.67 ms |  1.03 |    0.03 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   66 |  51.58 ms |  0.040 ms |  0.033 ms |  51.57 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |   66 |  51.78 ms |  0.557 ms |  0.465 ms |  51.57 ms |  1.00 |    0.01 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  128 |  60.17 ms |  0.028 ms |  0.024 ms |  60.17 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  128 |  57.99 ms |  1.148 ms |  1.074 ms |  57.31 ms |  0.97 |    0.02 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  130 |  63.03 ms |  0.039 ms |  0.032 ms |  63.02 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  130 |  57.36 ms |  0.159 ms |  0.133 ms |  57.30 ms |  0.91 |    0.00 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  256 |  74.47 ms |  0.010 ms |  0.009 ms |  74.47 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  256 |  68.77 ms |  0.047 ms |  0.036 ms |  68.76 ms |  0.92 |    0.00 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  258 |  74.84 ms |  0.363 ms |  0.303 ms |  74.69 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  258 |  69.31 ms |  1.040 ms |  1.238 ms |  68.73 ms |  0.93 |    0.02 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  512 | 108.98 ms |  0.392 ms |  0.327 ms | 108.84 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  512 |  91.70 ms |  0.075 ms |  0.066 ms |  91.67 ms |  0.84 |    0.00 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  514 | 116.34 ms |  3.630 ms | 10.238 ms | 108.80 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe |  514 |  91.67 ms |  0.055 ms |  0.046 ms |  91.65 ms |  0.81 |    0.07 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 1024 | 188.93 ms |  3.627 ms |  3.562 ms | 186.63 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 1024 | 138.09 ms |  0.768 ms |  1.102 ms | 137.57 ms |  0.73 |    0.02 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 1026 | 211.32 ms | 11.223 ms | 33.091 ms | 193.37 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 1026 | 140.32 ms |  2.789 ms |  4.088 ms | 140.37 ms |  0.66 |    0.11 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 2048 | 372.51 ms |  4.242 ms |  3.760 ms | 369.68 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 2048 | 247.33 ms |  5.745 ms | 16.759 ms | 243.52 ms |  0.66 |    0.05 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 2050 | 265.02 ms |  1.654 ms |  1.381 ms | 265.48 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 2050 | 278.30 ms |  5.416 ms |  4.522 ms | 277.81 ms |  1.05 |    0.02 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 4096 | 448.92 ms |  3.060 ms |  2.713 ms | 449.40 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 4096 | 458.63 ms |  6.026 ms |  5.342 ms | 461.19 ms |  1.02 |    0.01 |
|        |            |                                                                                                                  |      |           |           |           |           |       |         |
|   Copy | Job-ANMJNY | \runtime-master\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 4098 | 450.68 ms |  2.504 ms |  2.091 ms | 450.70 ms |  1.00 |    0.00 |
|   Copy | Job-YSRVRX |        \runtime\artifacts\bin\testhost\net6.0-windows-Release-x64\shared\Microsoft.NETCore.App\6.0.0\corerun.exe | 4098 | 460.33 ms |  5.001 ms |  4.176 ms | 461.29 ms |  1.02 |    0.01 |

Please let me know if I can add any other information. Thanks!

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jul 13, 2021
@EgorBo
Copy link
Member

EgorBo commented Jul 13, 2021

Related: #33665

regSize /= 2;
}
// Copy the remainder by moving the last regSize bytes of the buffer
unsigned remainder = regSize - size;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth an assert that (remainder <= regSize)?

Copy link
Contributor Author

@alexcovington alexcovington Jul 13, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, that makes sense. I'll add that.

Copy link
Contributor

@sandreenko sandreenko Jul 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't expect this to have a perf difference, although I'd have to benchmark it to be sure. It seemed easier/cleaner to just reuse the register and regSize that was setup pre-copy. Let me know if you think it's better to break up cases like this instead.

I think that the change to support is it kind of small, you can use the same register just

Suggested change
unsigned remainder = regSize - size;
if ((regSize > XMM_REGSIZE_BYTES) && (size <= XMM_REGSIZE_BYTES))
{
regSize = XMM_REGSIZE_BYTES;
}
unsigned remainder = regSize - size;

Nit: remainder looks confusing for me, because I was expecting size to be called the remainder, but I am not sure what would be a better name.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

size really means remainingSize if I understand correctly, so I would at least rename remainder because the real is size.

Suggested change
unsigned remainder = regSize - size;
unsigned shiftBack = regSize - size; // so we could use another full move [totalSize - regSize; totalSize).

@alexcovington
Copy link
Contributor Author

@tannergooding I've finished updating the PR with your suggestions, please let me know if there is anything else I can change.

@tannergooding
Copy link
Member

The changes look good/correct to me.

CC. @dotnet/jit-contrib, community PR from our friends at AMD

Copy link
Contributor

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HI @alexcovington, thanks for the PR, the changes look good to me, with 1 question.
Could you please check if it fixes #33617?

unsigned remainder = regSize - size;
assert(remainder <= regSize);

srcOffset -= remainder;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the idea that after it srcOffset + regSize == totalSize?
if we have blockSize = 48, would it be beneficial to copy as [0, 32) YMM [32, 48) XMM, not as [0,32) YMM [16, 48) YMM?

Copy link
Contributor Author

@alexcovington alexcovington Jul 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please check if it fixes #33617?

Sure, I'll take a look and add a separate comment after I check.

is the idea that after it srcOffset + regSize == totalSize?

Yes, that's the idea. If there are any remaining bytes leftover after the main copy loop, back up the offset enough so that we can do a single SIMD move with whatever register was allocated to finish moving the remaining bytes.

would it be beneficial to copy as [0, 32) YMM [32, 48) XMM, not as [0,32) YMM [16, 48) YMM?

I don't expect this to have a perf difference, although I'd have to benchmark it to be sure. It seemed easier/cleaner to just reuse the register and regSize that was setup pre-copy. Let me know if you think it's better to break up cases like this instead.

@alexcovington
Copy link
Contributor Author

alexcovington commented Jul 14, 2021

@sandreenko Unfortunately, it looks like #33617 is not fixed by this change.

I'm seeing what you described, the IL looks the same for both the Vector inits:

Vector<float> localVector = new Vector<float>();
->
IL_0000  12 00             ldloca.s     0x0
IL_0002  fe 15 01 00 00 1b initobj      0x1B000001
structWithVectorField.b = new Vector<float>();
->
IL_0022  12 01             ldloca.s     0x1
IL_0024  7c 02 00 00 04    ldflda       0x4000002
IL_0029  fe 15 01 00 00 1b initobj      0x1B000001

But the generated code still uses XMM registers to complete the assignment to the field:

1.
IN0001: 000031 vxorps   ymm0, ymm0
IN0002: 000035 vmovupd  ymmword ptr[V00 rbp-30H], ymm0
2.
IN000a: 000054 vxorps   xmm0, xmm0
IN000b: 000058 vmovdqu  xmmword ptr [rcx+8], xmm0
IN000c: 00005D vmovdqu  xmmword ptr [rcx+24], xmm0

Here's the full dump:

Full dump
****** START compiling Scratch.Program:TestSIMDInit() (MethodHash=1924d387)
Generating code for Windows x64
OPTIONS: Tier-0 compilation (set COMPlus_TieredCompilation=0 to disable)
OPTIONS: compCodeOpt = BLENDED_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC  = false
OPTIONS: compProcedureSplitting   = false
OPTIONS: compProcedureSplittingEH = false
IL to import:
IL_0000  12 00             ldloca.s     0x0
IL_0002  fe 15 01 00 00 1b initobj      0x1B000001
IL_0008  12 00             ldloca.s     0x0
IL_000a  fe 16 01 00 00 1b constrained. 0x1B000001
IL_0010  6f 0b 00 00 0a    callvirt     0xA00000B
IL_0015  28 0c 00 00 0a    call         0xA00000C
IL_001a  12 01             ldloca.s     0x1
IL_001c  16                ldc.i4.0    
IL_001d  7d 01 00 00 04    stfld        0x4000001
IL_0022  12 01             ldloca.s     0x1
IL_0024  7c 02 00 00 04    ldflda       0x4000002
IL_0029  fe 15 01 00 00 1b initobj      0x1B000001
IL_002f  12 01             ldloca.s     0x1
IL_0031  7c 02 00 00 04    ldflda       0x4000002
IL_0036  fe 16 01 00 00 1b constrained. 0x1B000001
IL_003c  6f 0b 00 00 0a    callvirt     0xA00000B
IL_0041  28 0c 00 00 0a    call         0xA00000C
IL_0046  28 0d 00 00 0a    call         0xA00000D
IL_004b  28 0e 00 00 0a    call         0xA00000E
IL_0050  2a                ret         
getMaxIntrinsicSIMDVectorLength: returning 32
SIMD Candidate Type System.Numerics.Vector`1[System.Single]
Notify VM instruction set (AVX2) must be supported.
  Found type SIMD Vector<Float>

lvaGrabTemp returning 2 (V02 tmp0) (a long lifetime temp) called for OutgoingArgSpace.
; Initial local variable assignments
;
;  V00 loc0           simd32 
;  V01 loc1           struct <StructWithVectorField, 40>
;  V02 OutArgs        lclBlk <na>  "OutgoingArgSpace"
*************** In compInitDebuggingInfo() for Scratch.Program:TestSIMDInit()
getVars() returned cVars = 0, extendOthers = true
info.compVarScopesCount = 2
    	VarNum 	LVNum 	      Name 	Beg 	End
 0: 	00h 	00h 	  V00 loc0 	000h   	051h
 1: 	01h 	01h 	  V01 loc1 	000h   	051h
info.compStmtOffsetsCount    = 0
info.compStmtOffsetsImplicit = 0005h ( STACK_EMPTY CALL_SITE )
*************** In fgFindBasicBlocks() for Scratch.Program:TestSIMDInit()
Jump targets:
  none
New Basic Block BB01 [0000] created.
BB01 [000..051)
CLFLG_MINOPT set for method Scratch.Program:TestSIMDInit()
IL Code Size,Instr   81,  18, Basic Block count   1, Local Variable Num,Ref count   3,  5 for method Scratch.Program:TestSIMDInit()
IL Code Size,Instr   81,  18, Basic Block count   1, Local Variable Num,Ref count   3,  5 for method Scratch.Program:TestSIMDInit()
OPTIONS: opts.MinOpts() == true
Basic block list for 'Scratch.Program:TestSIMDInit()'

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd                 weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     
-----------------------------------------------------------------------------------------------------------------------------------------

*************** Starting PHASE Pre-import

*************** Finishing PHASE Pre-import

*************** Starting PHASE Profile incorporation
BBOPT not set

*************** Finishing PHASE Profile incorporation [no changes]

*************** Starting PHASE Importation
*************** In impImport() for Scratch.Program:TestSIMDInit()

impImportBlockPending for BB01

Importing BB01 (PC=000) of 'Scratch.Program:TestSIMDInit()'
    [ 0]   0 (0x000) ldloca.s 0
    [ 1]   2 (0x002) initobj 1B000001

STMT00000 (IL 0x000...  ???)
               [000003] IA----------              *  ASG       simd32 (init)
               [000000] D------N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]> V00 loc0         
               [000002] ------------              \--*  CNS_INT   int    0

    [ 0]   8 (0x008) ldloca.s 0
    [ 1]  10 (0x00a) constrained. (1B000001) callvirt 0A00000B
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is ref, structSize is 0

    [ 1]  21 (0x015) call 0A00000C
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0


STMT00001 (IL 0x008...  ???)
               [000007] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000006] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] ------------ this in rcx     \--*  ADDR      byref 
               [000004] -------N----                    \--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]> V00 loc0         

    [ 0]  26 (0x01a) ldloca.s 1
    [ 1]  28 (0x01c) ldc.i4.0 0
    [ 2]  29 (0x01d) stfld 04000001

STMT00002 (IL 0x01A...  ???)
               [000012] -A----------              *  ASG       int   
               [000011] -------N----              +--*  FIELD     int    a
               [000009] ------------              |  \--*  ADDR      byref 
               [000008] -------N----              |     \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         
               [000010] ------------              \--*  CNS_INT   int    0

    [ 0]  34 (0x022) ldloca.s 1
    [ 1]  36 (0x024) ldflda 04000002  Known type SIMD Vector<Float>

    [ 1]  41 (0x029) initobj 1B000001  Known type SIMD Vector<Float>
  Known type SIMD Vector<Float>


STMT00003 (IL 0x022...  ???)
               [000019] IA--G-------              *  ASG       simd32 (init)
               [000018] ----G--N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000016] ------------              |  \--*  ADDR      byref 
               [000015] -------N----              |     \--*  FIELD     simd32 b
               [000014] ------------              |        \--*  ADDR      byref 
               [000013] -------N----              |           \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         
               [000017] ------------              \--*  CNS_INT   int    0

    [ 0]  47 (0x02f) ldloca.s 1
    [ 1]  49 (0x031) ldflda 04000002  Known type SIMD Vector<Float>

    [ 1]  54 (0x036) constrained. (1B000001) callvirt 0A00000B
In Compiler::impImportCall: opcode is callvirt, kind=0, callRetType is ref, structSize is 0

    [ 1]  65 (0x041) call 0A00000C
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0


STMT00004 (IL 0x02F...  ???)
               [000025] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000024] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] ------------ this in rcx     \--*  ADDR      byref 
               [000022] -------N----                    \--*  FIELD     simd32 b
               [000021] ------------                       \--*  ADDR      byref 
               [000020] -------N----                          \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         

    [ 0]  70 (0x046) call 0A00000D
In Compiler::impImportCall: opcode is call, kind=0, callRetType is int, structSize is 0
Named Intrinsic System.Numerics.Vector`1.get_Count: Recognized
Notify VM instruction set (SSE2) must be supported.
  Known type SIMD Vector<Float>

    [ 1]  75 (0x04b) call 0A00000E
In Compiler::impImportCall: opcode is call, kind=0, callRetType is void, structSize is 0


STMT00005 (IL 0x046...  ???)
               [000027] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000026] ------------ arg0         \--*  CNS_INT   int    8 vector element count

    [ 0]  80 (0x050) ret

STMT00006 (IL 0x050...  ???)
               [000028] ------------              *  RETURN    void  

*************** Finishing PHASE Importation
Trees after Importation

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd                 weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}

***** BB01
STMT00000 (IL 0x000...0x003)
               [000003] IA----------              *  ASG       simd32 (init)
               [000000] D------N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]> V00 loc0         
               [000002] ------------              \--*  CNS_INT   int    0

***** BB01
STMT00001 (IL 0x008...0x01D)
               [000007] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000006] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] ------------ this in rcx     \--*  ADDR      byref 
               [000004] -------N----                    \--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]> V00 loc0         

***** BB01
STMT00002 (IL 0x01A...  ???)
               [000012] -A----------              *  ASG       int   
               [000011] -------N----              +--*  FIELD     int    a
               [000009] ------------              |  \--*  ADDR      byref 
               [000008] -------N----              |     \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         
               [000010] ------------              \--*  CNS_INT   int    0

***** BB01
STMT00003 (IL 0x022...0x02A)
               [000019] IA--G-------              *  ASG       simd32 (init)
               [000018] ----G--N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000016] ------------              |  \--*  ADDR      byref 
               [000015] -------N----              |     \--*  FIELD     simd32 b
               [000014] ------------              |        \--*  ADDR      byref 
               [000013] -------N----              |           \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         
               [000017] ------------              \--*  CNS_INT   int    0

***** BB01
STMT00004 (IL 0x02F...0x050)
               [000025] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000024] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] ------------ this in rcx     \--*  ADDR      byref 
               [000022] -------N----                    \--*  FIELD     simd32 b
               [000021] ------------                       \--*  ADDR      byref 
               [000020] -------N----                          \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         

***** BB01
STMT00005 (IL 0x046...  ???)
               [000027] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000026] ------------ arg0         \--*  CNS_INT   int    8 vector element count

***** BB01
STMT00006 (IL 0x050...  ???)
               [000028] ------------              *  RETURN    void  

-------------------------------------------------------------------------------------------------------------------

*************** Starting PHASE Indirect call transform

 -- no candidates to transform

*************** Finishing PHASE Indirect call transform [no changes]

*************** Starting PHASE Expand patchpoints

 -- no patchpoints to transform

*************** Finishing PHASE Expand patchpoints [no changes]

*************** Starting PHASE Post-import

*************** Finishing PHASE Post-import

*************** Starting PHASE Morph - Init

New BlockSet epoch 1, # of blocks (including unused BB00): 2, bitset array size: 1 (short)

*************** In fgRemoveEmptyBlocks

*************** Finishing PHASE Morph - Init
*************** In fgDebugCheckBBlist

*************** Starting PHASE Morph - Inlining

*************** Finishing PHASE Morph - Inlining [no changes]

*************** Starting PHASE Allocate Objects
no newobjs in this method; punting

*************** Finishing PHASE Allocate Objects [no changes]

*************** Starting PHASE Morph - Add internal blocks

*************** After fgAddInternal()

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd                 weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i 
-----------------------------------------------------------------------------------------------------------------------------------------

***************  Exception Handling table is empty

*************** Finishing PHASE Morph - Add internal blocks

*************** Starting PHASE Remove empty try

*************** In fgRemoveEmptyTry()
No EH in this method, nothing to remove.

*************** Finishing PHASE Remove empty try [no changes]

*************** Starting PHASE Remove empty finally
No EH in this method, nothing to remove.

*************** Finishing PHASE Remove empty finally [no changes]

*************** Starting PHASE Merge callfinally chains
No EH in this method, nothing to merge.

*************** Finishing PHASE Merge callfinally chains [no changes]

*************** Starting PHASE Clone finally
No EH in this method, no cloning.

*************** Finishing PHASE Clone finally [no changes]

*************** Starting PHASE Compute preds

Renumbering the basic blocks for fgComputePred

*************** Before renumbering the basic blocks

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd                 weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i 
-----------------------------------------------------------------------------------------------------------------------------------------

***************  Exception Handling table is empty

*************** After renumbering the basic blocks
=============== No blocks renumbered!

*************** In fgComputePreds()

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd                 weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i 
-----------------------------------------------------------------------------------------------------------------------------------------


*************** After fgComputePreds()

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i 
-----------------------------------------------------------------------------------------------------------------------------------------


*************** Finishing PHASE Compute preds

*************** Starting PHASE Morph - Promote Structs

*************** In fgResetImplicitByRefRefCount()
*************** In fgPromoteStructs()
  promotion opt flag not enabled

*************** Finishing PHASE Morph - Promote Structs

*************** Starting PHASE Morph - Structs/AddrExp

*************** In fgMarkAddressExposedLocals()
LocalAddressVisitor visiting statement:
STMT00000 (IL 0x000...0x003)
               [000003] IA----------              *  ASG       simd32 (init)
               [000000] D------N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]> V00 loc0         
               [000002] ------------              \--*  CNS_INT   int    0

LocalAddressVisitor visiting statement:
STMT00001 (IL 0x008...0x01D)
               [000007] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000006] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] ------------ this in rcx     \--*  ADDR      byref 
               [000004] -------N----                    \--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]> V00 loc0         

Local V00 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00001 (IL 0x008...0x01D)
               [000007] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000006] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] ------------ this in rcx     \--*  LCL_VAR_ADDR byref  V00 loc0         

LocalAddressVisitor visiting statement:
STMT00002 (IL 0x01A...  ???)
               [000012] -A----------              *  ASG       int   
               [000011] -------N----              +--*  FIELD     int    a
               [000009] ------------              |  \--*  ADDR      byref 
               [000008] -------N----              |     \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         
               [000010] ------------              \--*  CNS_INT   int    0

Local V01 should not be enregistered because: was accessed as a local field
LocalAddressVisitor modified statement:
STMT00002 (IL 0x01A...  ???)
               [000012] -A----------              *  ASG       int   
               [000011] U------N----              +--*  LCL_FLD   int    V01 loc1         [+0] Fseq[a]
               [000010] ------------              \--*  CNS_INT   int    0

LocalAddressVisitor visiting statement:
STMT00003 (IL 0x022...0x02A)
               [000019] IA--G-------              *  ASG       simd32 (init)
               [000018] ----G--N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000016] ------------              |  \--*  ADDR      byref 
               [000015] -------N----              |     \--*  FIELD     simd32 b
               [000014] ------------              |        \--*  ADDR      byref 
               [000013] -------N----              |           \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         
               [000017] ------------              \--*  CNS_INT   int    0

LocalAddressVisitor visiting statement:
STMT00004 (IL 0x02F...0x050)
               [000025] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000024] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] ------------ this in rcx     \--*  ADDR      byref 
               [000022] -------N----                    \--*  FIELD     simd32 b
               [000021] ------------                       \--*  ADDR      byref 
               [000020] -------N----                          \--*  LCL_VAR   struct<StructWithVectorField, 40> V01 loc1         

Local V01 should not be enregistered because: it is address exposed
LocalAddressVisitor modified statement:
STMT00004 (IL 0x02F...0x050)
               [000025] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000024] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] ------------ this in rcx     \--*  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]

LocalAddressVisitor visiting statement:
STMT00005 (IL 0x046...  ???)
               [000027] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000026] ------------ arg0         \--*  CNS_INT   int    8 vector element count

LocalAddressVisitor visiting statement:
STMT00006 (IL 0x050...  ???)
               [000028] ------------              *  RETURN    void  


*************** Finishing PHASE Morph - Structs/AddrExp

*************** Starting PHASE Morph - ByRefs

*************** In fgRetypeImplicitByRefArgs()

*************** Finishing PHASE Morph - ByRefs

*************** Starting PHASE Morph - Global

*************** In fgMorphBlocks()
compEnregLocals() is false, setting doNotEnreg flag for all locals.
Local V00 should not be enregistered because: opts.compFlags & CLFLG_REGVAR is not set

Local V01 should not be enregistered because: opts.compFlags & CLFLG_REGVAR is not set

Local V02 should not be enregistered because: opts.compFlags & CLFLG_REGVAR is not set

Morphing BB01 of 'Scratch.Program:TestSIMDInit()'

fgMorphTree BB01, STMT00000 (before)
               [000003] IA----------              *  ASG       simd32 (init)
               [000000] D------N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000002] ------------              \--*  CNS_INT   int    0
MorphInitBlock:
MorphBlock for dst tree, before:
               [000000] D---G+-N----              *  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
MorphBlock after:
               [000000] D---G+-N----              *  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
PrepareDst for [000000] have found a local var V00.
MorphInitBlock (after):
               [000003] -A--G-------              *  ASG       simd32 (copy)
               [000000] D---G+-N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000029] ------------              \--*  SIMD      simd32 float init
               [000002] -----+------                 \--*  CNS_INT   int    0

fgMorphTree BB01, STMT00000 (after)
               [000003] -A--G+------              *  ASG       simd32 (copy)
               [000000] D---G+-N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000029] ------------              \--*  SIMD      simd32 float init
               [000002] -----+------                 \--*  CNS_INT   int    0

fgMorphTree BB01, STMT00001 (before)
               [000007] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000006] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] ------------ this in rcx     \--*  LCL_VAR_ADDR byref  V00 loc0         
Initializing arg info for 7.CALL:
ArgTable for 7.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 6.CALL ref (By ref), 1 reg: rcx, byteAlignment=8]

Morphing args for 7.CALL:
Initializing arg info for 6.CALL:
ArgTable for 6.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 5.LCL_VAR_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8]

Morphing args for 6.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32

Sorting the arguments:
Deferred argument ('rcx'):
               [000005] -----+------              *  LCL_VAR_ADDR byref  V00 loc0         
Replaced with placeholder node:
               [000030] ----------L-              *  ARGPLACE  byref 

Shuffled argument table:    rcx 
ArgTable for 6.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 5.LCL_VAR_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]

argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32

Sorting the arguments:
Deferred argument ('rcx'):
               [000006] --CXG+------              *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] -----+------ this in rcx  \--*  LCL_VAR_ADDR byref  V00 loc0         
Replaced with placeholder node:
               [000031] ----------L-              *  ARGPLACE  ref   

Shuffled argument table:    rcx 
ArgTable for 7.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 6.CALL ref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]


fgMorphTree BB01, STMT00001 (after)
               [000007] --CXG+------              *  CALL      void   System.Console.WriteLine
               [000006] --CXG+------ arg0 in rcx  \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] -----+------ this in rcx     \--*  LCL_VAR_ADDR byref  V00 loc0         

fgMorphTree BB01, STMT00002 (before)
               [000012] -A----------              *  ASG       int   
               [000011] U------N----              +--*  LCL_FLD   int    V01 loc1         [+0] Fseq[a]
               [000010] ------------              \--*  CNS_INT   int    0

fgMorphTree BB01, STMT00003 (before)
               [000019] IA--G-------              *  ASG       simd32 (init)
               [000018] ----G--N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000016] ------------              |  \--*  ADDR      byref 
               [000015] -------N----              |     \--*  FIELD     simd32 b
               [000014] ------------              |        \--*  ADDR      byref 
               [000013] -------N----              |           \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000017] ------------              \--*  CNS_INT   int    0

Final value of Compiler::fgMorphField after calling fgMorphSmpOp:
               [000015] *------N----              *  IND       simd32
               [000033] -----+------              \--*  ADD       byref 
               [000014] -----+------                 +--*  ADDR      byref 
               [000013] ----G+-N----                 |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000032] -----+------                 \--*  CNS_INT   long   8 field offset Fseq[b]
MorphInitBlock:
MorphBlock for dst tree, before:
               [000018] n---G+-N----              *  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000033] -----+------              \--*  ADD       byref 
               [000014] -----+------                 +--*  ADDR      byref 
               [000013] U---G+-N----                 |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000032] -----+------                 \--*  CNS_INT   long   8 field offset Fseq[b]
MorphBlock after:
               [000018] n---G+-N----              *  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000033] -----+------              \--*  ADD       byref 
               [000014] -----+------                 +--*  ADDR      byref 
               [000013] U---G+-N----                 |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000032] -----+------                 \--*  CNS_INT   long   8 field offset Fseq[b]
PrepareDst for [000018] have found a local var V01.

Local V01 should not be enregistered because: written in a block op
MorphInitBlock (after):
               [000019] IA--G-------              *  ASG       simd32 (init)
               [000018] n---G+-N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000033] -----+------              |  \--*  ADD       byref 
               [000014] -----+------              |     +--*  ADDR      byref 
               [000013] U---G+-N----              |     |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000032] -----+------              |     \--*  CNS_INT   long   8 field offset Fseq[b]
               [000017] -----+------              \--*  CNS_INT   int    0

fgMorphTree BB01, STMT00003 (after)
               [000019] IA--G+------              *  ASG       simd32 (init)
               [000018] n---G+-N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000033] -----+------              |  \--*  ADD       byref 
               [000014] -----+------              |     +--*  ADDR      byref 
               [000013] U---G+-N----              |     |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000032] -----+------              |     \--*  CNS_INT   long   8 field offset Fseq[b]
               [000017] -----+------              \--*  CNS_INT   int    0

fgMorphTree BB01, STMT00004 (before)
               [000025] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000024] --C-G------- arg0         \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] ------------ this in rcx     \--*  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
Initializing arg info for 25.CALL:
ArgTable for 25.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 24.CALL ref (By ref), 1 reg: rcx, byteAlignment=8]

Morphing args for 25.CALL:
Initializing arg info for 24.CALL:
ArgTable for 24.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 23.LCL_FLD_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8]

Morphing args for 24.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32

Sorting the arguments:
Deferred argument ('rcx'):
               [000023] -----+------              *  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
Replaced with placeholder node:
               [000034] ----------L-              *  ARGPLACE  byref 

Shuffled argument table:    rcx 
ArgTable for 24.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 23.LCL_FLD_ADDR byref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]

argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32

Sorting the arguments:
Deferred argument ('rcx'):
               [000024] --CXG+------              *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] -----+------ this in rcx  \--*  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
Replaced with placeholder node:
               [000035] ----------L-              *  ARGPLACE  ref   

Shuffled argument table:    rcx 
ArgTable for 25.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 24.CALL ref (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]


fgMorphTree BB01, STMT00004 (after)
               [000025] --CXG+------              *  CALL      void   System.Console.WriteLine
               [000024] --CXG+------ arg0 in rcx  \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] -----+------ this in rcx     \--*  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]

fgMorphTree BB01, STMT00005 (before)
               [000027] --C-G-------              *  CALL      void   System.Console.WriteLine
               [000026] ------------ arg0         \--*  CNS_INT   int    8 vector element count
Initializing arg info for 27.CALL:
ArgTable for 27.CALL after fgInitArgInfo:
fgArgTabEntry[arg 0 26.CNS_INT int (By ref), 1 reg: rcx, byteAlignment=8]

Morphing args for 27.CALL:
argSlots=1, preallocatedArgCount=4, nextSlotNum=4, nextSlotByteOffset=32, outgoingArgSpaceSize=32

Sorting the arguments:
Deferred argument ('rcx'):
               [000026] -----+------              *  CNS_INT   int    8 vector element count
Replaced with placeholder node:
               [000036] ----------L-              *  ARGPLACE  int   

Shuffled argument table:    rcx 
ArgTable for 27.CALL after fgMorphArgs:
fgArgTabEntry[arg 0 26.CNS_INT int (By ref), 1 reg: rcx, byteAlignment=8, lateArgInx=0, processed]


fgMorphTree BB01, STMT00005 (after)
               [000027] --CXG+------              *  CALL      void   System.Console.WriteLine
               [000026] -----+------ arg0 in rcx  \--*  CNS_INT   int    8 vector element count

fgMorphTree BB01, STMT00006 (before)
               [000028] ------------              *  RETURN    void  

*************** Finishing PHASE Morph - Global
Trees after Morph - Global

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}

***** BB01
STMT00000 (IL 0x000...0x003)
               [000003] -A--G+------              *  ASG       simd32 (copy)
               [000000] D---G+-N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000029] ------------              \--*  SIMD      simd32 float init
               [000002] -----+------                 \--*  CNS_INT   int    0

***** BB01
STMT00001 (IL 0x008...0x01D)
               [000007] --CXG+------              *  CALL      void   System.Console.WriteLine
               [000006] --CXG+------ arg0 in rcx  \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000005] -----+------ this in rcx     \--*  LCL_VAR_ADDR byref  V00 loc0         

***** BB01
STMT00002 (IL 0x01A...  ???)
               [000012] -A--G+------              *  ASG       int   
               [000011] U---G+-N----              +--*  LCL_FLD   int    V01 loc1         [+0] Fseq[a]
               [000010] -----+------              \--*  CNS_INT   int    0

***** BB01
STMT00003 (IL 0x022...0x02A)
               [000019] IA--G+------              *  ASG       simd32 (init)
               [000018] n---G+-N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
               [000033] -----+------              |  \--*  ADD       byref 
               [000014] -----+------              |     +--*  ADDR      byref 
               [000013] U---G+-N----              |     |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
               [000032] -----+------              |     \--*  CNS_INT   long   8 field offset Fseq[b]
               [000017] -----+------              \--*  CNS_INT   int    0

***** BB01
STMT00004 (IL 0x02F...0x050)
               [000025] --CXG+------              *  CALL      void   System.Console.WriteLine
               [000024] --CXG+------ arg0 in rcx  \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
               [000023] -----+------ this in rcx     \--*  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]

***** BB01
STMT00005 (IL 0x046...  ???)
               [000027] --CXG+------              *  CALL      void   System.Console.WriteLine
               [000026] -----+------ arg0 in rcx  \--*  CNS_INT   int    8 vector element count

***** BB01
STMT00006 (IL 0x050...  ???)
               [000028] -----+------              *  RETURN    void  

-------------------------------------------------------------------------------------------------------------------
*************** In fgDebugCheckBBlist

*************** Starting PHASE GS Cookie
No GS security needed

*************** Finishing PHASE GS Cookie

*************** Starting PHASE Compute edge weights (1, false)
*************** In fgComputeBlockAndEdgeWeights()

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe 
-----------------------------------------------------------------------------------------------------------------------------------------

 -- no profile data, so using default called count
 -- not optimizing or no profile data, so not computing edge weights

*************** Finishing PHASE Compute edge weights (1, false)

*************** Starting PHASE Create EH funclets
*************** In fgCreateFunclets()

After fgCreateFunclets()
-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe 
-----------------------------------------------------------------------------------------------------------------------------------------

***************  Exception Handling table is empty
*************** In fgDebugCheckBBlist

*************** Finishing PHASE Create EH funclets

*************** Starting PHASE Mark local vars

*************** In lvaMarkLocalVars()
*** lvaComputeRefCounts ***

*************** Finishing PHASE Mark local vars

*************** Starting PHASE Find oper order
*************** In fgFindOperOrder()

*************** Finishing PHASE Find oper order

*************** Starting PHASE Set block order
*************** In fgSetBlockOrder()
The biggest BB has    7 tree nodes

*************** Finishing PHASE Set block order

*************** Starting PHASE Insert GC Polls

*************** Finishing PHASE Insert GC Polls [no changes]

*************** Starting PHASE Determine first cold block

*************** In fgDetermineFirstColdBlock()
No procedure splitting will be done for this method

*************** Finishing PHASE Determine first cold block
Trees before Rationalize IR

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}

***** BB01
STMT00000 (IL 0x000...0x003)
N004 (  6,  5) [000003] -A--G---R---              *  ASG       simd32 (copy)
N003 (  3,  2) [000000] D---G--N----              +--*  LCL_VAR   simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
N002 (  2,  2) [000029] ------------              \--*  SIMD      simd32 float init
N001 (  1,  1) [000002] ------------                 \--*  CNS_INT   int    0

***** BB01
STMT00001 (IL 0x008...0x01D)
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine
N004 ( 17, 10) [000006] --CXG------- arg0 in rcx  \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
N003 (  3,  3) [000005] ------------ this in rcx     \--*  LCL_VAR_ADDR byref  V00 loc0         

***** BB01
STMT00002 (IL 0x01A...  ???)
N003 (  5,  6) [000012] -A--G---R---              *  ASG       int   
N002 (  3,  4) [000011] U---G--N----              +--*  LCL_FLD   int    V01 loc1         [+0] Fseq[a]
N001 (  1,  1) [000010] ------------              \--*  CNS_INT   int    0

***** BB01
STMT00003 (IL 0x022...0x02A)
N007 ( 10,  9) [000019] IA--G---R---              *  ASG       simd32 (init)
N006 (  8,  7) [000018] n---G--N----              +--*  BLK       simd32<System.Numerics.Vector`1[Single]>
N005 (  5,  5) [000033] ------------              |  \--*  ADD       byref 
N003 (  3,  3) [000014] ------------              |     +--*  ADDR      byref 
N002 (  3,  2) [000013] U---G--N----              |     |  \--*  LCL_VAR   struct<StructWithVectorField, 40>(AX) V01 loc1         
N004 (  1,  1) [000032] ------------              |     \--*  CNS_INT   long   8 field offset Fseq[b]
N001 (  1,  1) [000017] ------------              \--*  CNS_INT   int    0

***** BB01
STMT00004 (IL 0x02F...0x050)
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine
N004 ( 17, 10) [000024] --CXG------- arg0 in rcx  \--*  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
N003 (  3,  3) [000023] ------------ this in rcx     \--*  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]

***** BB01
STMT00005 (IL 0x046...  ???)
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine
N002 (  1,  1) [000026] ------------ arg0 in rcx  \--*  CNS_INT   int    8 vector element count

***** BB01
STMT00006 (IL 0x050...  ???)
N001 (  0,  0) [000028] ------------              *  RETURN    void  

-------------------------------------------------------------------------------------------------------------------

*************** Starting PHASE Rationalize IR
rewriting asg(LCL_VAR, X) to STORE_LCL_VAR(X)
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         

rewriting asg(LCL_FLD, X) to STORE_LCL_FLD(X)
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]

Rewriting GT_ADDR(GT_LCL_VAR) to GT_LCL_VAR_ADDR:
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         

Rewriting GT_ASG(BLK(X), Y) to STORE_BLK(X,Y):
N001 (  1,  1) [000017] ------------        t17 =    CNS_INT   int    0
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         
N004 (  1,  1) [000032] ------------        t32 =    CNS_INT   long   8 field offset Fseq[b]
                                                  /--*  t13    byref  
                                                  +--*  t32    long   
N005 (  5,  5) [000033] ------------        t33 = *  ADD       byref 
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N006 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init)


*************** Finishing PHASE Rationalize IR
Trees after Rationalize IR

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}
               [000037] ------------                 IL_OFFSET void   IL offset: 0x0
N001 (  1,  1) [000002] ------------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000038] ------------                 IL_OFFSET void   IL offset: 0x8
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000039] ------------                 IL_OFFSET void   IL offset: 0x1a
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]
               [000040] ------------                 IL_OFFSET void   IL offset: 0x22
N001 (  1,  1) [000017] ------------        t17 =    CNS_INT   int    0
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         
N004 (  1,  1) [000032] ------------        t32 =    CNS_INT   long   8 field offset Fseq[b]
                                                  /--*  t13    byref  
                                                  +--*  t32    long   
N005 (  5,  5) [000033] ------------        t33 = *  ADD       byref 
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N006 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init)
               [000041] ------------                 IL_OFFSET void   IL offset: 0x2f
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000042] ------------                 IL_OFFSET void   IL offset: 0x46
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000043] ------------                 IL_OFFSET void   IL offset: 0x50
N001 (  0,  0) [000028] ------------                 RETURN    void  

-------------------------------------------------------------------------------------------------------------------
*************** In fgDebugCheckBBlist

*************** Starting PHASE Do 'simple' lowering
Bumping outgoingArgSpaceSize to 32 for call [000006]
outgoingArgSpaceSize 32 sufficient for call [000007], which needs 32
outgoingArgSpaceSize 32 sufficient for call [000024], which needs 32
outgoingArgSpaceSize 32 sufficient for call [000025], which needs 32
outgoingArgSpaceSize 32 sufficient for call [000027], which needs 32

*************** Finishing PHASE Do 'simple' lowering
*************** In fgDebugCheckBBlist
Trees before Lowering nodeinfo

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}
               [000037] ------------                 IL_OFFSET void   IL offset: 0x0
N001 (  1,  1) [000002] ------------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000038] ------------                 IL_OFFSET void   IL offset: 0x8
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000039] ------------                 IL_OFFSET void   IL offset: 0x1a
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]
               [000040] ------------                 IL_OFFSET void   IL offset: 0x22
N001 (  1,  1) [000017] ------------        t17 =    CNS_INT   int    0
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         
N004 (  1,  1) [000032] ------------        t32 =    CNS_INT   long   8 field offset Fseq[b]
                                                  /--*  t13    byref  
                                                  +--*  t32    long   
N005 (  5,  5) [000033] ------------        t33 = *  ADD       byref 
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N006 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init)
               [000041] ------------                 IL_OFFSET void   IL offset: 0x2f
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000042] ------------                 IL_OFFSET void   IL offset: 0x46
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000043] ------------                 IL_OFFSET void   IL offset: 0x50
N001 (  0,  0) [000028] ------------                 RETURN    void  

-------------------------------------------------------------------------------------------------------------------

*************** Starting PHASE Lowering nodeinfo
compEnregLocals() is false, setting doNotEnreg flag for all locals.
Local V00 should not be enregistered because: opts.compFlags & CLFLG_REGVAR is not set

Local V01 should not be enregistered because: opts.compFlags & CLFLG_REGVAR is not set

Local V02 should not be enregistered because: opts.compFlags & CLFLG_REGVAR is not set
lowering store lcl var/field (before):
N001 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         

lowering store lcl var/field (after):
N001 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         


Local V00 should not be enregistered because: written in a block op
lowering call (before):
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString

objp:
======
lowering arg : N002 (  0,  0) [000030] ----------L-              *  ARGPLACE  byref 

args:
======

late:
======
lowering arg : N003 (  3,  3) [000005] ------------              *  LCL_VAR_ADDR byref  V00 loc0         
new node is :                [000044] ------------              *  PUTARG_REG byref  REG rcx

lowering call (after):
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  
               [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString

lowering call (before):
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  
               [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine

objp:
======

args:
======
lowering arg : N001 (  0,  0) [000031] ----------L-              *  ARGPLACE  ref   

late:
======
lowering arg : N004 ( 17, 10) [000006] --CXG-------              *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
new node is :                [000045] --CXG-------              *  PUTARG_REG ref    REG rcx

lowering call (after):
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  
               [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    
               [000045] --CXG-------        t45 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t45    ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine

lowering store lcl var/field (before):
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]

lowering store lcl var/field (after):
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]


Local V01 should not be enregistered because: written in a block op
Addressing mode:
  Base
    N002 (  3,  2) [000013] U------N----              *  LCL_VAR_ADDR byref  V01 loc1         
  + 8
Removing unused node:
  N004 (  1,  1) [000032] -c----------              *  CNS_INT   long   8 field offset Fseq[b]
New addressing mode node:
  N005 (  5,  5) [000033] ------------              *  LEA(b+8)  byref 


Local V01 should not be enregistered because: written in a block op
lowering call (before):
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString

objp:
======
lowering arg : N002 (  0,  0) [000034] ----------L-              *  ARGPLACE  byref 

args:
======

late:
======
lowering arg : N003 (  3,  3) [000023] ------------              *  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
new node is :                [000046] ------------              *  PUTARG_REG byref  REG rcx

lowering call (after):
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  
               [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString

lowering call (before):
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  
               [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine

objp:
======

args:
======
lowering arg : N001 (  0,  0) [000035] ----------L-              *  ARGPLACE  ref   

late:
======
lowering arg : N004 ( 17, 10) [000024] --CXG-------              *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
new node is :                [000047] --CXG-------              *  PUTARG_REG ref    REG rcx

lowering call (after):
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  
               [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    
               [000047] --CXG-------        t47 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t47    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine

lowering call (before):
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine

objp:
======

args:
======
lowering arg : N001 (  0,  0) [000036] ----------L-              *  ARGPLACE  int   

late:
======
lowering arg : N002 (  1,  1) [000026] ------------              *  CNS_INT   int    8 vector element count
new node is :                [000048] ------------              *  PUTARG_REG int    REG rcx

lowering call (after):
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    
               [000048] ------------        t48 = *  PUTARG_REG int    REG rcx
                                                  /--*  t48    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine

lowering GT_RETURN
N001 (  0,  0) [000028] ------------              *  RETURN    void  
============Lower has completed modifying nodes.

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}
               [000037] ------------                 IL_OFFSET void   IL offset: 0x0
N001 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000038] ------------                 IL_OFFSET void   IL offset: 0x8
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  
               [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    
               [000045] --CXG-------        t45 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t45    ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000039] ------------                 IL_OFFSET void   IL offset: 0x1a
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]
               [000040] ------------                 IL_OFFSET void   IL offset: 0x22
N001 (  1,  1) [000017] -c----------        t17 =    CNS_INT   int    0
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         
                                                  /--*  t13    byref  
N005 (  5,  5) [000033] -c----------        t33 = *  LEA(b+8)  byref 
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N006 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init) (Unroll)
               [000041] ------------                 IL_OFFSET void   IL offset: 0x2f
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  
               [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    
               [000047] --CXG-------        t47 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t47    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000042] ------------                 IL_OFFSET void   IL offset: 0x46
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    
               [000048] ------------        t48 = *  PUTARG_REG int    REG rcx
                                                  /--*  t48    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000043] ------------                 IL_OFFSET void   IL offset: 0x50
N001 (  0,  0) [000028] ------------                 RETURN    void  

-------------------------------------------------------------------------------------------------------------------

*** lvaComputeRefCounts ***
*************** In fgLocalVarLiveness()
; Initial local variable assignments
;
;  V00 loc0           simd32  do-not-enreg[XSB] addr-exposed ld-addr-op
;  V01 loc1           struct <StructWithVectorField, 40> do-not-enreg[XSFB] addr-exposed ld-addr-op
;  V02 OutArgs        lclBlk <32>  do-not-enreg[] "OutgoingArgSpace"
In fgLocalVarLivenessInit
*************** In fgPerBlockLocalVarLiveness()
*************** In fgInterBlockLocalVarLiveness()

*** lvaComputeRefCounts ***

*************** Finishing PHASE Lowering nodeinfo
Trees after Lowering nodeinfo

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}
               [000037] ------------                 IL_OFFSET void   IL offset: 0x0
N001 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000038] ------------                 IL_OFFSET void   IL offset: 0x8
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  
               [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    
               [000045] --CXG-------        t45 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t45    ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000039] ------------                 IL_OFFSET void   IL offset: 0x1a
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]
               [000040] ------------                 IL_OFFSET void   IL offset: 0x22
N001 (  1,  1) [000017] -c----------        t17 =    CNS_INT   int    0
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         
                                                  /--*  t13    byref  
N005 (  5,  5) [000033] -c----------        t33 = *  LEA(b+8)  byref 
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N006 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init) (Unroll)
               [000041] ------------                 IL_OFFSET void   IL offset: 0x2f
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  
               [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    
               [000047] --CXG-------        t47 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t47    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000042] ------------                 IL_OFFSET void   IL offset: 0x46
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    
               [000048] ------------        t48 = *  PUTARG_REG int    REG rcx
                                                  /--*  t48    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000043] ------------                 IL_OFFSET void   IL offset: 0x50
N001 (  0,  0) [000028] ------------                 RETURN    void  

-------------------------------------------------------------------------------------------------------------------
*************** In fgDebugCheckBBlist
Trees before Calculate stack level slots

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}
               [000037] ------------                 IL_OFFSET void   IL offset: 0x0
N001 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0
                                                  /--*  t2     int    
N002 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init
                                                  /--*  t29    simd32 
N004 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0         
               [000038] ------------                 IL_OFFSET void   IL offset: 0x8
N003 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0         
                                                  /--*  t5     byref  
               [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N004 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t6     ref    
               [000045] --CXG-------        t45 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t45    ref    arg0 in rcx
N005 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000039] ------------                 IL_OFFSET void   IL offset: 0x1a
N001 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0
                                                  /--*  t10    int    
N003 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a]
               [000040] ------------                 IL_OFFSET void   IL offset: 0x22
N001 (  1,  1) [000017] -c----------        t17 =    CNS_INT   int    0
N002 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1         
                                                  /--*  t13    byref  
N005 (  5,  5) [000033] -c----------        t33 = *  LEA(b+8)  byref 
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N006 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init) (Unroll)
               [000041] ------------                 IL_OFFSET void   IL offset: 0x2f
N003 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b]
                                                  /--*  t23    byref  
               [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N004 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString
                                                  /--*  t24    ref    
               [000047] --CXG-------        t47 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t47    ref    arg0 in rcx
N005 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000042] ------------                 IL_OFFSET void   IL offset: 0x46
N002 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count
                                                  /--*  t26    int    
               [000048] ------------        t48 = *  PUTARG_REG int    REG rcx
                                                  /--*  t48    int    arg0 in rcx
N003 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine
               [000043] ------------                 IL_OFFSET void   IL offset: 0x50
N001 (  0,  0) [000028] ------------                 RETURN    void  

-------------------------------------------------------------------------------------------------------------------

*************** Starting PHASE Calculate stack level slots

*************** Finishing PHASE Calculate stack level slots [no changes]

*************** Starting PHASE Linear scan register alloc
Clearing modified regs.

buildIntervals ========

-----------------
LIVENESS:
-----------------
BB01 use def in out
{}
{}
{}
{}

FP callee save candidate vars: None

floatVarCount = 0; hasLoops = 0, singleExit = 1
TUPLE STYLE DUMP BEFORE LSRA
Start LSRA Block Sequence: 
Current block: BB01
Final LSRA Block Sequence: 
BB01(  1   ) 

BB01 [000..051) (return), preds={} succs={}
=====
  N000.                    IL_OFFSET IL offset: 0x0
  N001.                    CNS_INT   0
  N002. t29             =  SIMD     
  N004.                    V00 MEM; t29
  N000.                    IL_OFFSET IL offset: 0x8
  N003. t5              =  LCL_VAR_ADDR V00 loc0         
  N000. t44             =  PUTARG_REG; t5
  N004. t6              =  CALL     ; t44
  N000. t45             =  PUTARG_REG; t6
  N005.                    CALL     ; t45
  N000.                    IL_OFFSET IL offset: 0x1a
  N001. t10             =  CNS_INT   0
  N003.                    V01 MEM; t10
  N000.                    IL_OFFSET IL offset: 0x22
  N001.                    CNS_INT   0
  N002. t13             =  LCL_VAR_ADDR V01 loc1         
  N005. t33             =  LEA(b+8) ; t13
  N006.                    STORE_BLK; t33
  N000.                    IL_OFFSET IL offset: 0x2f
  N003. t23             =  LCL_FLD_ADDR V01 loc1         [+8] Fseq[b]
  N000. t46             =  PUTARG_REG; t23
  N004. t24             =  CALL     ; t46
  N000. t47             =  PUTARG_REG; t24
  N005.                    CALL     ; t47
  N000.                    IL_OFFSET IL offset: 0x46
  N002. t26             =  CNS_INT   8 vector element count
  N000. t48             =  PUTARG_REG; t26
  N003.                    CALL     ; t48
  N000.                    IL_OFFSET IL offset: 0x50
  N001.                    RETURN   




buildIntervals second part ========

NEW BLOCK BB01
<RefPosition #0   @0   RefTypeBB  BB01 regmask=[] minReg=1 wt=100.00>

DefList: {  }
N002 (???,???) [000037] ------------              *  IL_OFFSET void   IL offset: 0x0 REG NA

DefList: {  }
N004 (  1,  1) [000002] -c----------              *  CNS_INT   int    0 REG NA
Contained
DefList: {  }
N006 (  2,  2) [000029] ------------              *  SIMD      simd32 float init REG NA
Interval  0: simd32 RefPositions {} physReg:NA Preferences=[allFloat]
<RefPosition #1   @7   RefTypeDef <Ivl:0> SIMD BB01 regmask=[allFloat] minReg=1 wt=400.00>

DefList: { N006.t29. SIMD }
N008 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0          NA REG NA
<RefPosition #2   @8   RefTypeUse <Ivl:0>  BB01 regmask=[allFloat] minReg=1 last wt=100.00>

DefList: {  }
N010 (???,???) [000038] ------------              *  IL_OFFSET void   IL offset: 0x8 REG NA

DefList: {  }
N012 (  3,  3) [000005] ------------              *  LCL_VAR_ADDR byref  V00 loc0          NA REG NA
Interval  1: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #3   @13  RefTypeDef <Ivl:1> LCL_VAR_ADDR BB01 regmask=[allIntButFP] minReg=1 wt=400.00>

DefList: { N012.t5. LCL_VAR_ADDR }
N014 (???,???) [000044] ------------              *  PUTARG_REG byref  REG rcx
<RefPosition #4   @14  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #5   @14  RefTypeUse <Ivl:1>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
Interval  2: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #6   @15  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #7   @15  RefTypeDef <Ivl:2> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>

DefList: { N014.t44. PUTARG_REG }
N016 ( 17, 10) [000006] --CXG-------              *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString REG NA
<RefPosition #8   @16  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #9   @16  RefTypeUse <Ivl:2>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #10  @17  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #11  @17  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #12  @17  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 wt=100.00>
<RefPosition #13  @17  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 wt=100.00>
<RefPosition #14  @17  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 wt=100.00>
<RefPosition #15  @17  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 wt=100.00>
<RefPosition #16  @17  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 wt=100.00>
<RefPosition #17  @17  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 wt=100.00>
<RefPosition #18  @17  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 wt=100.00>
<RefPosition #19  @17  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 wt=100.00>
<RefPosition #20  @17  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 wt=100.00>
<RefPosition #21  @17  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 wt=100.00>
<RefPosition #22  @17  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 wt=100.00>
Interval  3: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #23  @17  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #24  @17  RefTypeDef <Ivl:3> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>

DefList: { N016.t6. CALL }
N018 (???,???) [000045] --CXG-------              *  PUTARG_REG ref    REG rcx
<RefPosition #25  @18  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #26  @18  RefTypeUse <Ivl:3>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
Interval  4: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #27  @19  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #28  @19  RefTypeDef <Ivl:4> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>

DefList: { N018.t45. PUTARG_REG }
N020 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
<RefPosition #29  @20  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #30  @20  RefTypeUse <Ivl:4>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #31  @21  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #32  @21  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #33  @21  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 wt=100.00>
<RefPosition #34  @21  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 wt=100.00>
<RefPosition #35  @21  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 wt=100.00>
<RefPosition #36  @21  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 wt=100.00>
<RefPosition #37  @21  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 wt=100.00>
<RefPosition #38  @21  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 wt=100.00>
<RefPosition #39  @21  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 wt=100.00>
<RefPosition #40  @21  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 wt=100.00>
<RefPosition #41  @21  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 wt=100.00>
<RefPosition #42  @21  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 wt=100.00>
<RefPosition #43  @21  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 wt=100.00>

DefList: {  }
N022 (???,???) [000039] ------------              *  IL_OFFSET void   IL offset: 0x1a REG NA

DefList: {  }
N024 (  1,  1) [000010] ------------              *  CNS_INT   int    0 REG NA
Interval  5: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #44  @25  RefTypeDef <Ivl:5> CNS_INT BB01 regmask=[allIntButFP] minReg=1 wt=400.00>

DefList: { N024.t10. CNS_INT }
N026 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a] NA REG NA
<RefPosition #45  @26  RefTypeUse <Ivl:5>  BB01 regmask=[allIntButFP] minReg=1 last wt=100.00>

DefList: {  }
N028 (???,???) [000040] ------------              *  IL_OFFSET void   IL offset: 0x22 REG NA

DefList: {  }
N030 (  1,  1) [000017] -c----------              *  CNS_INT   int    0 REG NA
Contained
DefList: {  }
N032 (  3,  2) [000013] U------N----              *  LCL_VAR_ADDR byref  V01 loc1          NA REG NA
Interval  6: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #46  @33  RefTypeDef <Ivl:6> LCL_VAR_ADDR BB01 regmask=[allIntButFP] minReg=1 wt=400.00>

DefList: { N032.t13. LCL_VAR_ADDR }
N034 (  5,  5) [000033] -c----------              *  LEA(b+8)  byref  REG NA
Contained
DefList: { N032.t13. LCL_VAR_ADDR }
N036 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init) (Unroll) REG NA
Interval  7: float RefPositions {} physReg:NA Preferences=[allFloat]
<RefPosition #47  @36  RefTypeDef <Ivl:7 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 wt=400.00>
<RefPosition #48  @36  RefTypeUse <Ivl:6>  BB01 regmask=[allIntButFP] minReg=1 last wt=100.00>
<RefPosition #49  @36  RefTypeUse <Ivl:7 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 last wt=400.00>

DefList: {  }
N038 (???,???) [000041] ------------              *  IL_OFFSET void   IL offset: 0x2f REG NA

DefList: {  }
N040 (  3,  3) [000023] ------------              *  LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b] NA REG NA
Interval  8: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #50  @41  RefTypeDef <Ivl:8> LCL_FLD_ADDR BB01 regmask=[allIntButFP] minReg=1 wt=400.00>

DefList: { N040.t23. LCL_FLD_ADDR }
N042 (???,???) [000046] ------------              *  PUTARG_REG byref  REG rcx
<RefPosition #51  @42  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #52  @42  RefTypeUse <Ivl:8>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
Interval  9: byref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #53  @43  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #54  @43  RefTypeDef <Ivl:9> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>

DefList: { N042.t46. PUTARG_REG }
N044 ( 17, 10) [000024] --CXG-------              *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString REG NA
<RefPosition #55  @44  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #56  @44  RefTypeUse <Ivl:9>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #57  @45  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #58  @45  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #59  @45  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 wt=100.00>
<RefPosition #60  @45  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 wt=100.00>
<RefPosition #61  @45  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 wt=100.00>
<RefPosition #62  @45  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 wt=100.00>
<RefPosition #63  @45  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 wt=100.00>
<RefPosition #64  @45  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 wt=100.00>
<RefPosition #65  @45  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 wt=100.00>
<RefPosition #66  @45  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 wt=100.00>
<RefPosition #67  @45  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 wt=100.00>
<RefPosition #68  @45  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 wt=100.00>
<RefPosition #69  @45  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 wt=100.00>
Interval 10: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #70  @45  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #71  @45  RefTypeDef <Ivl:10> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>

DefList: { N044.t24. CALL }
N046 (???,???) [000047] --CXG-------              *  PUTARG_REG ref    REG rcx
<RefPosition #72  @46  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #73  @46  RefTypeUse <Ivl:10>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
Interval 11: ref RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #74  @47  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #75  @47  RefTypeDef <Ivl:11> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>

DefList: { N046.t47. PUTARG_REG }
N048 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
<RefPosition #76  @48  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #77  @48  RefTypeUse <Ivl:11>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #78  @49  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #79  @49  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #80  @49  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 wt=100.00>
<RefPosition #81  @49  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 wt=100.00>
<RefPosition #82  @49  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 wt=100.00>
<RefPosition #83  @49  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 wt=100.00>
<RefPosition #84  @49  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 wt=100.00>
<RefPosition #85  @49  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 wt=100.00>
<RefPosition #86  @49  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 wt=100.00>
<RefPosition #87  @49  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 wt=100.00>
<RefPosition #88  @49  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 wt=100.00>
<RefPosition #89  @49  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 wt=100.00>
<RefPosition #90  @49  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 wt=100.00>

DefList: {  }
N050 (???,???) [000042] ------------              *  IL_OFFSET void   IL offset: 0x46 REG NA

DefList: {  }
N052 (  1,  1) [000026] ------------              *  CNS_INT   int    8 vector element count REG NA
Interval 12: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #91  @53  RefTypeDef <Ivl:12> CNS_INT BB01 regmask=[allIntButFP] minReg=1 wt=400.00>

DefList: { N052.t26. CNS_INT }
N054 (???,???) [000048] ------------              *  PUTARG_REG int    REG rcx
<RefPosition #92  @54  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #93  @54  RefTypeUse <Ivl:12>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
Interval 13: int RefPositions {} physReg:NA Preferences=[allIntButFP]
<RefPosition #94  @55  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #95  @55  RefTypeDef <Ivl:13> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>

DefList: { N054.t48. PUTARG_REG }
N056 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
<RefPosition #96  @56  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #97  @56  RefTypeUse <Ivl:13>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #98  @57  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #99  @57  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #100 @57  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 wt=100.00>
<RefPosition #101 @57  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 wt=100.00>
<RefPosition #102 @57  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 wt=100.00>
<RefPosition #103 @57  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 wt=100.00>
<RefPosition #104 @57  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 wt=100.00>
<RefPosition #105 @57  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 wt=100.00>
<RefPosition #106 @57  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 wt=100.00>
<RefPosition #107 @57  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 wt=100.00>
<RefPosition #108 @57  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 wt=100.00>
<RefPosition #109 @57  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 wt=100.00>
<RefPosition #110 @57  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 wt=100.00>

DefList: {  }
N058 (???,???) [000043] ------------              *  IL_OFFSET void   IL offset: 0x50 REG NA

DefList: {  }
N060 (  0,  0) [000028] ------------              *  RETURN    void   REG NA


Linear scan intervals BEFORE VALIDATING INTERVALS:
Interval  0: simd32 RefPositions {#1@7 #2@8} physReg:NA Preferences=[allFloat]
Interval  1: byref RefPositions {#3@13 #5@14} physReg:NA Preferences=[rcx]
Interval  2: byref RefPositions {#7@15 #9@16} physReg:NA Preferences=[rcx]
Interval  3: ref (def-use conflict) RefPositions {#24@17 #26@18} physReg:NA Preferences=[rax rcx]
Interval  4: ref RefPositions {#28@19 #30@20} physReg:NA Preferences=[rcx]
Interval  5: int (constant) RefPositions {#44@25 #45@26} physReg:NA Preferences=[allIntButFP]
Interval  6: byref RefPositions {#46@33 #48@36} physReg:NA Preferences=[allIntButFP]
Interval  7: float (INTERNAL) RefPositions {#47@36 #49@36} physReg:NA Preferences=[allFloat]
Interval  8: byref RefPositions {#50@41 #52@42} physReg:NA Preferences=[rcx]
Interval  9: byref RefPositions {#54@43 #56@44} physReg:NA Preferences=[rcx]
Interval 10: ref (def-use conflict) RefPositions {#71@45 #73@46} physReg:NA Preferences=[rax rcx]
Interval 11: ref RefPositions {#75@47 #77@48} physReg:NA Preferences=[rcx]
Interval 12: int (constant) RefPositions {#91@53 #93@54} physReg:NA Preferences=[rcx]
Interval 13: int RefPositions {#95@55 #97@56} physReg:NA Preferences=[rcx]

------------
REFPOSITIONS BEFORE VALIDATING INTERVALS: 
------------
<RefPosition #0   @0   RefTypeBB  BB01 regmask=[] minReg=1 wt=100.00>
<RefPosition #1   @7   RefTypeDef <Ivl:0> SIMD BB01 regmask=[allFloat] minReg=1 wt=400.00>
<RefPosition #2   @8   RefTypeUse <Ivl:0>  BB01 regmask=[allFloat] minReg=1 last wt=100.00>
<RefPosition #3   @13  RefTypeDef <Ivl:1> LCL_VAR_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #4   @14  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #5   @14  RefTypeUse <Ivl:1>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #6   @15  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #7   @15  RefTypeDef <Ivl:2> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #8   @16  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #9   @16  RefTypeUse <Ivl:2>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #10  @17  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #11  @17  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #12  @17  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #13  @17  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #14  @17  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #15  @17  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #16  @17  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #17  @17  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #18  @17  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #19  @17  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #20  @17  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #21  @17  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #22  @17  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #23  @17  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #24  @17  RefTypeDef <Ivl:3> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>
<RefPosition #25  @18  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #26  @18  RefTypeUse <Ivl:3>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #27  @19  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #28  @19  RefTypeDef <Ivl:4> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #29  @20  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #30  @20  RefTypeUse <Ivl:4>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #31  @21  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #32  @21  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #33  @21  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #34  @21  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #35  @21  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #36  @21  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #37  @21  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #38  @21  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #39  @21  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #40  @21  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #41  @21  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #42  @21  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #43  @21  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #44  @25  RefTypeDef <Ivl:5> CNS_INT BB01 regmask=[allIntButFP] minReg=1 wt=400.00>
<RefPosition #45  @26  RefTypeUse <Ivl:5>  BB01 regmask=[allIntButFP] minReg=1 last wt=100.00>
<RefPosition #46  @33  RefTypeDef <Ivl:6> LCL_VAR_ADDR BB01 regmask=[allIntButFP] minReg=1 wt=400.00>
<RefPosition #47  @36  RefTypeDef <Ivl:7 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 wt=400.00>
<RefPosition #48  @36  RefTypeUse <Ivl:6>  BB01 regmask=[allIntButFP] minReg=1 last wt=100.00>
<RefPosition #49  @36  RefTypeUse <Ivl:7 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 last wt=400.00>
<RefPosition #50  @41  RefTypeDef <Ivl:8> LCL_FLD_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #51  @42  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #52  @42  RefTypeUse <Ivl:8>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #53  @43  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #54  @43  RefTypeDef <Ivl:9> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #55  @44  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #56  @44  RefTypeUse <Ivl:9>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #57  @45  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #58  @45  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #59  @45  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #60  @45  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #61  @45  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #62  @45  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #63  @45  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #64  @45  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #65  @45  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #66  @45  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #67  @45  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #68  @45  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #69  @45  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #70  @45  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #71  @45  RefTypeDef <Ivl:10> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>
<RefPosition #72  @46  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #73  @46  RefTypeUse <Ivl:10>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #74  @47  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #75  @47  RefTypeDef <Ivl:11> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #76  @48  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #77  @48  RefTypeUse <Ivl:11>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #78  @49  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #79  @49  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #80  @49  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #81  @49  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #82  @49  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #83  @49  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #84  @49  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #85  @49  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #86  @49  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #87  @49  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #88  @49  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #89  @49  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #90  @49  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #91  @53  RefTypeDef <Ivl:12> CNS_INT BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #92  @54  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #93  @54  RefTypeUse <Ivl:12>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #94  @55  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #95  @55  RefTypeDef <Ivl:13> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #96  @56  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #97  @56  RefTypeUse <Ivl:13>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #98  @57  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #99  @57  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #100 @57  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #101 @57  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #102 @57  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #103 @57  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #104 @57  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #105 @57  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #106 @57  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #107 @57  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #108 @57  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #109 @57  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #110 @57  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
TUPLE STYLE DUMP WITH REF POSITIONS
Incoming Parameters: 
BB01 [000..051) (return), preds={} succs={}
=====
  N002.                    IL_OFFSET IL offset: 0x0
  N004.                    CNS_INT   0
  N006.                    SIMD     
        Def:<I0>(#1)
  N008.                    V00 MEM
                               Use:<I0>(#2) *
  N010.                    IL_OFFSET IL offset: 0x8
  N012.                    LCL_VAR_ADDR V00 loc0          NA
        Def:<I1>(#3)
  N014.                    PUTARG_REG
                               Use:<I1>(#5) Fixed:rcx(#4) *
        Def:<I2>(#7) rcx
  N016.                    CALL     
                               Use:<I2>(#9) Fixed:rcx(#8) *
        Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5 
        Def:<I3>(#24) rax
  N018.                    PUTARG_REG
                               Use:<I3>(#26) Fixed:rcx(#25) *
        Def:<I4>(#28) rcx
  N020.                    CALL     
                               Use:<I4>(#30) Fixed:rcx(#29) *
        Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5 
  N022.                    IL_OFFSET IL offset: 0x1a
  N024.                    CNS_INT   0
        Def:<I5>(#44)
  N026.                    V01 MEM
                               Use:<I5>(#45) *
  N028.                    IL_OFFSET IL offset: 0x22
  N030.                    CNS_INT   0
  N032.                    LCL_VAR_ADDR V01 loc1          NA
        Def:<I6>(#46)
  N034.                    LEA(b+8) 
  N036.                    STORE_BLK
        Def:<T7>(#47)
                               Use:<I6>(#48) *
                               Use:<T7>(#49) *
  N038.                    IL_OFFSET IL offset: 0x2f
  N040.                    LCL_FLD_ADDR V01 loc1         [+8] Fseq[b] NA
        Def:<I8>(#50)
  N042.                    PUTARG_REG
                               Use:<I8>(#52) Fixed:rcx(#51) *
        Def:<I9>(#54) rcx
  N044.                    CALL     
                               Use:<I9>(#56) Fixed:rcx(#55) *
        Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5 
        Def:<I10>(#71) rax
  N046.                    PUTARG_REG
                               Use:<I10>(#73) Fixed:rcx(#72) *
        Def:<I11>(#75) rcx
  N048.                    CALL     
                               Use:<I11>(#77) Fixed:rcx(#76) *
        Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5 
  N050.                    IL_OFFSET IL offset: 0x46
  N052.                    CNS_INT   8 vector element count
        Def:<I12>(#91)
  N054.                    PUTARG_REG
                               Use:<I12>(#93) Fixed:rcx(#92) *
        Def:<I13>(#95) rcx
  N056.                    CALL     
                               Use:<I13>(#97) Fixed:rcx(#96) *
        Kill: rax rcx rdx r8 r9 r10 r11 mm0 mm1 mm2 mm3 mm4 mm5 
  N058.                    IL_OFFSET IL offset: 0x50
  N060.                    RETURN   




Linear scan intervals after buildIntervals:
Interval  0: simd32 RefPositions {#1@7 #2@8} physReg:NA Preferences=[allFloat]
Interval  1: byref RefPositions {#3@13 #5@14} physReg:NA Preferences=[rcx]
Interval  2: byref RefPositions {#7@15 #9@16} physReg:NA Preferences=[rcx]
Interval  3: ref (def-use conflict) RefPositions {#24@17 #26@18} physReg:NA Preferences=[rax rcx]
Interval  4: ref RefPositions {#28@19 #30@20} physReg:NA Preferences=[rcx]
Interval  5: int (constant) RefPositions {#44@25 #45@26} physReg:NA Preferences=[allIntButFP]
Interval  6: byref RefPositions {#46@33 #48@36} physReg:NA Preferences=[allIntButFP]
Interval  7: float (INTERNAL) RefPositions {#47@36 #49@36} physReg:NA Preferences=[allFloat]
Interval  8: byref RefPositions {#50@41 #52@42} physReg:NA Preferences=[rcx]
Interval  9: byref RefPositions {#54@43 #56@44} physReg:NA Preferences=[rcx]
Interval 10: ref (def-use conflict) RefPositions {#71@45 #73@46} physReg:NA Preferences=[rax rcx]
Interval 11: ref RefPositions {#75@47 #77@48} physReg:NA Preferences=[rcx]
Interval 12: int (constant) RefPositions {#91@53 #93@54} physReg:NA Preferences=[rcx]
Interval 13: int RefPositions {#95@55 #97@56} physReg:NA Preferences=[rcx]

*************** In LinearScan::allocateRegisters()

Linear scan intervals before allocateRegisters:
Interval  0: simd32 RefPositions {#1@7 #2@8} physReg:NA Preferences=[allFloat]
Interval  1: byref RefPositions {#3@13 #5@14} physReg:NA Preferences=[rcx]
Interval  2: byref RefPositions {#7@15 #9@16} physReg:NA Preferences=[rcx]
Interval  3: ref (def-use conflict) RefPositions {#24@17 #26@18} physReg:NA Preferences=[rax rcx]
Interval  4: ref RefPositions {#28@19 #30@20} physReg:NA Preferences=[rcx]
Interval  5: int (constant) RefPositions {#44@25 #45@26} physReg:NA Preferences=[allIntButFP]
Interval  6: byref RefPositions {#46@33 #48@36} physReg:NA Preferences=[allIntButFP]
Interval  7: float (INTERNAL) RefPositions {#47@36 #49@36} physReg:NA Preferences=[allFloat]
Interval  8: byref RefPositions {#50@41 #52@42} physReg:NA Preferences=[rcx]
Interval  9: byref RefPositions {#54@43 #56@44} physReg:NA Preferences=[rcx]
Interval 10: ref (def-use conflict) RefPositions {#71@45 #73@46} physReg:NA Preferences=[rax rcx]
Interval 11: ref RefPositions {#75@47 #77@48} physReg:NA Preferences=[rcx]
Interval 12: int (constant) RefPositions {#91@53 #93@54} physReg:NA Preferences=[rcx]
Interval 13: int RefPositions {#95@55 #97@56} physReg:NA Preferences=[rcx]

------------
REFPOSITIONS BEFORE ALLOCATION: 
------------
<RefPosition #0   @0   RefTypeBB  BB01 regmask=[] minReg=1 wt=100.00>
<RefPosition #1   @7   RefTypeDef <Ivl:0> SIMD BB01 regmask=[allFloat] minReg=1 wt=400.00>
<RefPosition #2   @8   RefTypeUse <Ivl:0>  BB01 regmask=[allFloat] minReg=1 last wt=100.00>
<RefPosition #3   @13  RefTypeDef <Ivl:1> LCL_VAR_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #4   @14  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #5   @14  RefTypeUse <Ivl:1>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #6   @15  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #7   @15  RefTypeDef <Ivl:2> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #8   @16  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #9   @16  RefTypeUse <Ivl:2>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #10  @17  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #11  @17  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #12  @17  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #13  @17  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #14  @17  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #15  @17  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #16  @17  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #17  @17  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #18  @17  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #19  @17  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #20  @17  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #21  @17  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #22  @17  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #23  @17  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #24  @17  RefTypeDef <Ivl:3> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>
<RefPosition #25  @18  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #26  @18  RefTypeUse <Ivl:3>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #27  @19  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #28  @19  RefTypeDef <Ivl:4> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #29  @20  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #30  @20  RefTypeUse <Ivl:4>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #31  @21  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #32  @21  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #33  @21  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #34  @21  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #35  @21  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #36  @21  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #37  @21  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #38  @21  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #39  @21  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #40  @21  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #41  @21  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #42  @21  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #43  @21  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #44  @25  RefTypeDef <Ivl:5> CNS_INT BB01 regmask=[allIntButFP] minReg=1 wt=400.00>
<RefPosition #45  @26  RefTypeUse <Ivl:5>  BB01 regmask=[allIntButFP] minReg=1 last wt=100.00>
<RefPosition #46  @33  RefTypeDef <Ivl:6> LCL_VAR_ADDR BB01 regmask=[allIntButFP] minReg=1 wt=400.00>
<RefPosition #47  @36  RefTypeDef <Ivl:7 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 wt=400.00>
<RefPosition #48  @36  RefTypeUse <Ivl:6>  BB01 regmask=[allIntButFP] minReg=1 last wt=100.00>
<RefPosition #49  @36  RefTypeUse <Ivl:7 internal> STORE_BLK BB01 regmask=[allFloat] minReg=1 last wt=400.00>
<RefPosition #50  @41  RefTypeDef <Ivl:8> LCL_FLD_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #51  @42  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #52  @42  RefTypeUse <Ivl:8>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #53  @43  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #54  @43  RefTypeDef <Ivl:9> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #55  @44  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #56  @44  RefTypeUse <Ivl:9>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #57  @45  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #58  @45  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #59  @45  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #60  @45  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #61  @45  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #62  @45  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #63  @45  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #64  @45  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #65  @45  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #66  @45  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #67  @45  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #68  @45  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #69  @45  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #70  @45  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #71  @45  RefTypeDef <Ivl:10> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>
<RefPosition #72  @46  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #73  @46  RefTypeUse <Ivl:10>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #74  @47  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #75  @47  RefTypeDef <Ivl:11> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #76  @48  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #77  @48  RefTypeUse <Ivl:11>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #78  @49  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #79  @49  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #80  @49  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #81  @49  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #82  @49  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #83  @49  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #84  @49  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #85  @49  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #86  @49  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #87  @49  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #88  @49  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #89  @49  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #90  @49  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #91  @53  RefTypeDef <Ivl:12> CNS_INT BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #92  @54  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #93  @54  RefTypeUse <Ivl:12>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #94  @55  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #95  @55  RefTypeDef <Ivl:13> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #96  @56  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #97  @56  RefTypeUse <Ivl:13>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #98  @57  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #99  @57  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #100 @57  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #101 @57  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #102 @57  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #103 @57  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #104 @57  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #105 @57  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #106 @57  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #107 @57  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #108 @57  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #109 @57  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #110 @57  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>


Allocating Registers
--------------------
The following table has one or more rows for each RefPosition that is handled during allocation.
The first column provides the basic information about the RefPosition, with its type (e.g. Def,
Use, Fixd) followed by a '*' if it is a last use, and a 'D' if it is delayRegFree, and then the
action taken during allocation (e.g. Alloc a new register, or Keep an existing one).
The subsequent columns show the Interval occupying each register, if any, followed by 'a' if it is
active, a 'p' if it is a large vector that has been partially spilled, and 'i'if it is inactive.
Columns are only printed up to the last modifed register, which may increase during allocation,
in which case additional columns will appear.  
Registers which are not marked modified have ---- in their column.

----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
LocRP#  Name Type  Action    Reg  |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8  |r9  |mm0 |mm1 |mm2 |mm6 |mm7 |
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
                                  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
 0.#0   BB1 PredBB0               |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
 7.#1   I0   Def    ORDER(A) mm0  |    |    |    |    |    |    |    |    |    |I0 a|    |    |    |    |
 8.#2   I0   Use *  Keep     mm0  |    |    |    |    |    |    |    |    |    |I0 a|    |    |    |    |
13.#3   I1   Def    Alloc    rcx  |    |I1 a|    |    |    |    |    |    |    |    |    |    |    |    |
14.#4   rcx  Fixd   Keep     rcx  |    |I1 a|    |    |    |    |    |    |    |    |    |    |    |    |
14.#5   I1   Use *  Keep     rcx  |    |I1 a|    |    |    |    |    |    |    |    |    |    |    |    |
15.#6   rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
15.#7   I2   Def    Alloc    rcx  |    |I2 a|    |    |    |    |    |    |    |    |    |    |    |    |
16.#8   rcx  Fixd   Keep     rcx  |    |I2 a|    |    |    |    |    |    |    |    |    |    |    |    |
16.#9   I2   Use *  Keep     rcx  |    |I2 a|    |    |    |    |    |    |    |    |    |    |    |    |
17.#10  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#11  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#12  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#13  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#14  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#15  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#16  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#17  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#18  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#19  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#20  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#21  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#22  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#23  rax  Fixd   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#24  I3   Def    DUconflict    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
  Case #6 need a copy             |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
                    Alloc    rax  |I3 a|    |    |    |    |    |    |    |    |    |    |    |    |    |
18.#25  rcx  Fixd   Keep     rcx  |I3 a|    |    |    |    |    |    |    |    |    |    |    |    |    |
18.#26  I3   Use *  Copy     rcx  |I3 a|I3 a|    |    |    |    |    |    |    |    |    |    |    |    |
19.#27  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
19.#28  I4   Def    Alloc    rcx  |    |I4 a|    |    |    |    |    |    |    |    |    |    |    |    |
20.#29  rcx  Fixd   Keep     rcx  |    |I4 a|    |    |    |    |    |    |    |    |    |    |    |    |
20.#30  I4   Use *  Keep     rcx  |    |I4 a|    |    |    |    |    |    |    |    |    |    |    |    |
21.#31  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#32  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#33  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#34  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#35  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#36  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#37  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#38  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#39  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#40  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#41  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#42  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#43  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
25.#44  C5   Def    BSFIT(A) rcx  |    |C5 a|    |    |    |    |    |    |    |    |    |    |    |    |
26.#45  C5   Use *  Keep     rcx  |    |C5 a|    |    |    |    |    |    |    |    |    |    |    |    |
33.#46  I6   Def    BSFIT(A) rcx  |    |I6 a|    |    |    |    |    |    |    |    |    |    |    |    |
36.#47  I7   Def    ORDER(A) mm0  |    |I6 a|    |    |    |    |    |    |    |I7 a|    |    |    |    |
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
LocRP#  Name Type  Action    Reg  |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8  |r9  |mm0 |mm1 |mm2 |mm6 |mm7 |
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
36.#48  I6   Use *  Keep     rcx  |    |I6 a|    |    |    |    |    |    |    |I7 a|    |    |    |    |
36.#49  I7   Use *  Keep     mm0  |    |I6 a|    |    |    |    |    |    |    |I7 a|    |    |    |    |
41.#50  I8   Def    Alloc    rcx  |    |I8 a|    |    |    |    |    |    |    |    |    |    |    |    |
42.#51  rcx  Fixd   Keep     rcx  |    |I8 a|    |    |    |    |    |    |    |    |    |    |    |    |
42.#52  I8   Use *  Keep     rcx  |    |I8 a|    |    |    |    |    |    |    |    |    |    |    |    |
43.#53  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
43.#54  I9   Def    Alloc    rcx  |    |I9 a|    |    |    |    |    |    |    |    |    |    |    |    |
44.#55  rcx  Fixd   Keep     rcx  |    |I9 a|    |    |    |    |    |    |    |    |    |    |    |    |
44.#56  I9   Use *  Keep     rcx  |    |I9 a|    |    |    |    |    |    |    |    |    |    |    |    |
45.#57  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#58  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#59  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#60  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#61  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#62  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#63  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#64  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#65  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#66  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#67  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#68  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#69  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#70  rax  Fixd   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#71  I10  Def    DUconflict    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
  Case #6 need a copy             |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
                    Alloc    rax  |I10a|    |    |    |    |    |    |    |    |    |    |    |    |    |
46.#72  rcx  Fixd   Keep     rcx  |I10a|    |    |    |    |    |    |    |    |    |    |    |    |    |
46.#73  I10  Use *  Copy     rcx  |I10a|I10a|    |    |    |    |    |    |    |    |    |    |    |    |
47.#74  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
47.#75  I11  Def    Alloc    rcx  |    |I11a|    |    |    |    |    |    |    |    |    |    |    |    |
48.#76  rcx  Fixd   Keep     rcx  |    |I11a|    |    |    |    |    |    |    |    |    |    |    |    |
48.#77  I11  Use *  Keep     rcx  |    |I11a|    |    |    |    |    |    |    |    |    |    |    |    |
49.#78  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#79  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#80  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#81  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#82  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#83  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#84  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#85  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#86  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#87  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#88  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#89  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#90  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
53.#91  C12  Def    Alloc    rcx  |    |C12a|    |    |    |    |    |    |    |    |    |    |    |    |
54.#92  rcx  Fixd   Keep     rcx  |    |C12a|    |    |    |    |    |    |    |    |    |    |    |    |
54.#93  C12  Use *  Keep     rcx  |    |C12a|    |    |    |    |    |    |    |    |    |    |    |    |
55.#94  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
55.#95  I13  Def    Alloc    rcx  |    |I13a|    |    |    |    |    |    |    |    |    |    |    |    |
56.#96  rcx  Fixd   Keep     rcx  |    |I13a|    |    |    |    |    |    |    |    |    |    |    |    |
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
LocRP#  Name Type  Action    Reg  |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8  |r9  |mm0 |mm1 |mm2 |mm6 |mm7 |
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
56.#97  I13  Use *  Keep     rcx  |    |I13a|    |    |    |    |    |    |    |    |    |    |    |    |
57.#98  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#99  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#100 rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#101 r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#102 r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#103 r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#104 r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#105 mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#106 mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#107 mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#108 mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#109 mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#110 mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |

------------
REFPOSITIONS AFTER ALLOCATION: 
------------
<RefPosition #0   @0   RefTypeBB  BB01 regmask=[] minReg=1 wt=100.00>
<RefPosition #1   @7   RefTypeDef <Ivl:0> SIMD BB01 regmask=[mm0] minReg=1 wt=400.00>
<RefPosition #2   @8   RefTypeUse <Ivl:0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #3   @13  RefTypeDef <Ivl:1> LCL_VAR_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #4   @14  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #5   @14  RefTypeUse <Ivl:1>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #6   @15  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #7   @15  RefTypeDef <Ivl:2> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #8   @16  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #9   @16  RefTypeUse <Ivl:2>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #10  @17  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #11  @17  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #12  @17  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #13  @17  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #14  @17  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #15  @17  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #16  @17  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #17  @17  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #18  @17  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #19  @17  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #20  @17  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #21  @17  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #22  @17  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #23  @17  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #24  @17  RefTypeDef <Ivl:3> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>
<RefPosition #25  @18  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #26  @18  RefTypeUse <Ivl:3>  BB01 regmask=[rcx] minReg=1 last move fixed wt=100.00>
<RefPosition #27  @19  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #28  @19  RefTypeDef <Ivl:4> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #29  @20  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #30  @20  RefTypeUse <Ivl:4>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #31  @21  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #32  @21  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #33  @21  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #34  @21  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #35  @21  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #36  @21  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #37  @21  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #38  @21  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #39  @21  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #40  @21  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #41  @21  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #42  @21  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #43  @21  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #44  @25  RefTypeDef <Ivl:5> CNS_INT BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #45  @26  RefTypeUse <Ivl:5>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #46  @33  RefTypeDef <Ivl:6> LCL_VAR_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #47  @36  RefTypeDef <Ivl:7 internal> STORE_BLK BB01 regmask=[mm0] minReg=1 wt=400.00>
<RefPosition #48  @36  RefTypeUse <Ivl:6>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #49  @36  RefTypeUse <Ivl:7 internal> STORE_BLK BB01 regmask=[mm0] minReg=1 last wt=400.00>
<RefPosition #50  @41  RefTypeDef <Ivl:8> LCL_FLD_ADDR BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #51  @42  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #52  @42  RefTypeUse <Ivl:8>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #53  @43  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #54  @43  RefTypeDef <Ivl:9> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #55  @44  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #56  @44  RefTypeUse <Ivl:9>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #57  @45  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #58  @45  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #59  @45  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #60  @45  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #61  @45  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #62  @45  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #63  @45  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #64  @45  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #65  @45  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #66  @45  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #67  @45  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #68  @45  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #69  @45  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #70  @45  RefTypeFixedReg <Reg:rax>  BB01 regmask=[rax] minReg=1 wt=100.00>
<RefPosition #71  @45  RefTypeDef <Ivl:10> CALL BB01 regmask=[rax] minReg=1 fixed wt=400.00>
<RefPosition #72  @46  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #73  @46  RefTypeUse <Ivl:10>  BB01 regmask=[rcx] minReg=1 last move fixed wt=100.00>
<RefPosition #74  @47  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #75  @47  RefTypeDef <Ivl:11> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #76  @48  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #77  @48  RefTypeUse <Ivl:11>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #78  @49  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #79  @49  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #80  @49  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #81  @49  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #82  @49  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #83  @49  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #84  @49  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #85  @49  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #86  @49  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #87  @49  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #88  @49  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #89  @49  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #90  @49  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
<RefPosition #91  @53  RefTypeDef <Ivl:12> CNS_INT BB01 regmask=[rcx] minReg=1 wt=400.00>
<RefPosition #92  @54  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #93  @54  RefTypeUse <Ivl:12>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #94  @55  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #95  @55  RefTypeDef <Ivl:13> PUTARG_REG BB01 regmask=[rcx] minReg=1 fixed wt=400.00>
<RefPosition #96  @56  RefTypeFixedReg <Reg:rcx>  BB01 regmask=[rcx] minReg=1 wt=100.00>
<RefPosition #97  @56  RefTypeUse <Ivl:13>  BB01 regmask=[rcx] minReg=1 last fixed wt=100.00>
<RefPosition #98  @57  RefTypeKill <Reg:rax>  BB01 regmask=[rax] minReg=1 last wt=100.00>
<RefPosition #99  @57  RefTypeKill <Reg:rcx>  BB01 regmask=[rcx] minReg=1 last wt=100.00>
<RefPosition #100 @57  RefTypeKill <Reg:rdx>  BB01 regmask=[rdx] minReg=1 last wt=100.00>
<RefPosition #101 @57  RefTypeKill <Reg:r8 >  BB01 regmask=[r8] minReg=1 last wt=100.00>
<RefPosition #102 @57  RefTypeKill <Reg:r9 >  BB01 regmask=[r9] minReg=1 last wt=100.00>
<RefPosition #103 @57  RefTypeKill <Reg:r10>  BB01 regmask=[r10] minReg=1 last wt=100.00>
<RefPosition #104 @57  RefTypeKill <Reg:r11>  BB01 regmask=[r11] minReg=1 last wt=100.00>
<RefPosition #105 @57  RefTypeKill <Reg:mm0>  BB01 regmask=[mm0] minReg=1 last wt=100.00>
<RefPosition #106 @57  RefTypeKill <Reg:mm1>  BB01 regmask=[mm1] minReg=1 last wt=100.00>
<RefPosition #107 @57  RefTypeKill <Reg:mm2>  BB01 regmask=[mm2] minReg=1 last wt=100.00>
<RefPosition #108 @57  RefTypeKill <Reg:mm3>  BB01 regmask=[mm3] minReg=1 last wt=100.00>
<RefPosition #109 @57  RefTypeKill <Reg:mm4>  BB01 regmask=[mm4] minReg=1 last wt=100.00>
<RefPosition #110 @57  RefTypeKill <Reg:mm5>  BB01 regmask=[mm5] minReg=1 last wt=100.00>
Active intervals at end of allocation:

Trees after linear scan register allocator (LSRA)

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

------------ BB01 [000..051) (return), preds={} succs={}
N002 (???,???) [000037] ------------                 IL_OFFSET void   IL offset: 0x0 REG NA
N004 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0 REG NA
                                                  /--*  t2     int    
N006 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init REG mm0
                                                  /--*  t29    simd32 
N008 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0          NA REG NA
N010 (???,???) [000038] ------------                 IL_OFFSET void   IL offset: 0x8 REG NA
N012 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0          rcx REG rcx
                                                  /--*  t5     byref  
N014 (???,???) [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t44    byref  this in rcx
N016 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString REG rax
                                                  /--*  t6     ref    
               [000049] --CXG-------        t49 = *  COPY      ref    REG rcx
                                                  /--*  t49    ref    
N018 (???,???) [000045] --CXG-------        t45 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t45    ref    arg0 in rcx
N020 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
N022 (???,???) [000039] ------------                 IL_OFFSET void   IL offset: 0x1a REG NA
N024 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0 REG rcx
                                                  /--*  t10    int    
N026 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a] NA REG NA
N028 (???,???) [000040] ------------                 IL_OFFSET void   IL offset: 0x22 REG NA
N030 (  1,  1) [000017] -c----------        t17 =    CNS_INT   int    0 REG NA
N032 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1          rcx REG rcx
                                                  /--*  t13    byref  
N034 (  5,  5) [000033] -c----------        t33 = *  LEA(b+8)  byref  REG NA
                                                  /--*  t33    byref  
                                                  +--*  t17    int    
N036 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init) (Unroll) REG NA
N038 (???,???) [000041] ------------                 IL_OFFSET void   IL offset: 0x2f REG NA
N040 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b] rcx REG rcx
                                                  /--*  t23    byref  
N042 (???,???) [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
                                                  /--*  t46    byref  this in rcx
N044 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString REG rax
                                                  /--*  t24    ref    
               [000050] --CXG-------        t50 = *  COPY      ref    REG rcx
                                                  /--*  t50    ref    
N046 (???,???) [000047] --CXG-------        t47 = *  PUTARG_REG ref    REG rcx
                                                  /--*  t47    ref    arg0 in rcx
N048 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
N050 (???,???) [000042] ------------                 IL_OFFSET void   IL offset: 0x46 REG NA
N052 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count REG rcx
                                                  /--*  t26    int    
N054 (???,???) [000048] ------------        t48 = *  PUTARG_REG int    REG rcx
                                                  /--*  t48    int    arg0 in rcx
N056 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
N058 (???,???) [000043] ------------                 IL_OFFSET void   IL offset: 0x50 REG NA
N060 (  0,  0) [000028] ------------                 RETURN    void   REG NA

-------------------------------------------------------------------------------------------------------------------

Final allocation
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
LocRP#  Name Type  Action    Reg  |rax |rcx |rdx |rbx |rbp |rsi |rdi |r8  |r9  |mm0 |mm1 |mm2 |mm6 |mm7 |
----------------------------------+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
 0.#0   BB1 PredBB0               |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
 7.#1   I0   Def    Alloc    mm0  |    |    |    |    |    |    |    |    |    |I0 a|    |    |    |    |
 8.#2   I0   Use *  Keep     mm0  |    |    |    |    |    |    |    |    |    |I0 i|    |    |    |    |
13.#3   I1   Def    Alloc    rcx  |    |I1 a|    |    |    |    |    |    |    |    |    |    |    |    |
14.#4   rcx  Fixd   Keep     rcx  |    |I1 a|    |    |    |    |    |    |    |    |    |    |    |    |
14.#5   I1   Use *  Keep     rcx  |    |I1 i|    |    |    |    |    |    |    |    |    |    |    |    |
15.#6   rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
15.#7   I2   Def    Alloc    rcx  |    |I2 a|    |    |    |    |    |    |    |    |    |    |    |    |
16.#8   rcx  Fixd   Keep     rcx  |    |I2 a|    |    |    |    |    |    |    |    |    |    |    |    |
16.#9   I2   Use *  Keep     rcx  |    |I2 i|    |    |    |    |    |    |    |    |    |    |    |    |
17.#10  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#11  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#12  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#13  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#14  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#15  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#16  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#17  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#18  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#19  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#20  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#21  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#22  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#23  rax  Fixd   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
17.#24  I3   Def    Alloc    rax  |I3 a|    |    |    |    |    |    |    |    |    |    |    |    |    |
18.#25  rcx  Fixd   Keep     rcx  |I3 a|    |    |    |    |    |    |    |    |    |    |    |    |    |
                    Move     rcx  |    |I3 i|    |    |    |    |    |    |    |    |    |    |    |    |
19.#27  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
19.#28  I4   Def    Alloc    rcx  |    |I4 a|    |    |    |    |    |    |    |    |    |    |    |    |
20.#29  rcx  Fixd   Keep     rcx  |    |I4 a|    |    |    |    |    |    |    |    |    |    |    |    |
20.#30  I4   Use *  Keep     rcx  |    |I4 i|    |    |    |    |    |    |    |    |    |    |    |    |
21.#31  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#32  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#33  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#34  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#35  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#36  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#37  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#38  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#39  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#40  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#41  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#42  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
21.#43  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
25.#44  C5   Def    Alloc    rcx  |    |C5 a|    |    |    |    |    |    |    |    |    |    |    |    |
26.#45  C5   Use *  Keep     rcx  |    |C5 i|    |    |    |    |    |    |    |    |    |    |    |    |
33.#46  I6   Def    Alloc    rcx  |    |I6 a|    |    |    |    |    |    |    |    |    |    |    |    |
36.#47  I7   Def    Alloc    mm0  |    |I6 a|    |    |    |    |    |    |    |I7 a|    |    |    |    |
36.#48  I6   Use *  Keep     rcx  |    |I6 i|    |    |    |    |    |    |    |I7 a|    |    |    |    |
36.#49  I7   Use *  Keep     mm0  |    |    |    |    |    |    |    |    |    |I7 i|    |    |    |    |
41.#50  I8   Def    Alloc    rcx  |    |I8 a|    |    |    |    |    |    |    |    |    |    |    |    |
42.#51  rcx  Fixd   Keep     rcx  |    |I8 a|    |    |    |    |    |    |    |    |    |    |    |    |
42.#52  I8   Use *  Keep     rcx  |    |I8 i|    |    |    |    |    |    |    |    |    |    |    |    |
43.#53  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
43.#54  I9   Def    Alloc    rcx  |    |I9 a|    |    |    |    |    |    |    |    |    |    |    |    |
44.#55  rcx  Fixd   Keep     rcx  |    |I9 a|    |    |    |    |    |    |    |    |    |    |    |    |
44.#56  I9   Use *  Keep     rcx  |    |I9 i|    |    |    |    |    |    |    |    |    |    |    |    |
45.#57  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#58  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#59  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#60  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#61  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#62  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#63  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#64  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#65  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#66  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#67  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#68  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#69  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#70  rax  Fixd   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
45.#71  I10  Def    Alloc    rax  |I10a|    |    |    |    |    |    |    |    |    |    |    |    |    |
46.#72  rcx  Fixd   Keep     rcx  |I10a|    |    |    |    |    |    |    |    |    |    |    |    |    |
                    Move     rcx  |    |I10i|    |    |    |    |    |    |    |    |    |    |    |    |
47.#74  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
47.#75  I11  Def    Alloc    rcx  |    |I11a|    |    |    |    |    |    |    |    |    |    |    |    |
48.#76  rcx  Fixd   Keep     rcx  |    |I11a|    |    |    |    |    |    |    |    |    |    |    |    |
48.#77  I11  Use *  Keep     rcx  |    |I11i|    |    |    |    |    |    |    |    |    |    |    |    |
49.#78  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#79  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#80  rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#81  r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#82  r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#83  r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#84  r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#85  mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#86  mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#87  mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#88  mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#89  mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
49.#90  mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
53.#91  C12  Def    Alloc    rcx  |    |C12a|    |    |    |    |    |    |    |    |    |    |    |    |
54.#92  rcx  Fixd   Keep     rcx  |    |C12a|    |    |    |    |    |    |    |    |    |    |    |    |
54.#93  C12  Use *  Keep     rcx  |    |C12i|    |    |    |    |    |    |    |    |    |    |    |    |
55.#94  rcx  Fixd   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
55.#95  I13  Def    Alloc    rcx  |    |I13a|    |    |    |    |    |    |    |    |    |    |    |    |
56.#96  rcx  Fixd   Keep     rcx  |    |I13a|    |    |    |    |    |    |    |    |    |    |    |    |
56.#97  I13  Use *  Keep     rcx  |    |I13i|    |    |    |    |    |    |    |    |    |    |    |    |
57.#98  rax  Kill   Keep     rax  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#99  rcx  Kill   Keep     rcx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#100 rdx  Kill   Keep     rdx  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#101 r8   Kill   Keep     r8   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#102 r9   Kill   Keep     r9   |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#103 r10  Kill   Keep     r10  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#104 r11  Kill   Keep     r11  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#105 mm0  Kill   Keep     mm0  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#106 mm1  Kill   Keep     mm1  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#107 mm2  Kill   Keep     mm2  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#108 mm3  Kill   Keep     mm3  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#109 mm4  Kill   Keep     mm4  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |
57.#110 mm5  Kill   Keep     mm5  |    |    |    |    |    |    |    |    |    |    |    |    |    |    |

Recording the maximum number of concurrent spills:

----------
LSRA Stats
----------
Register selection order: ABCDEFGHIJKLMNOPQ
Total Tracked Vars:  0
Total Reg Cand Vars: 0
Total number of Intervals: 13
Total number of RefPositions: 110
Total Number of spill temps created: 0
..........
BB01 [  100.00]: CopyReg = 2, BEST_FIT = 2, REG_ORDER = 2
..........
Total SpillCount : 0   Weighted: 0.000000
Total CopyReg : 2   Weighted: 200.000000
Total ResolutionMovs : 0   Weighted: 0.000000
Total SplitEdges : 0   Weighted: 0.000000
..........
Total BEST_FIT [#11] : 2   Weighted: 200.000000
Total REG_ORDER [#13] : 2   Weighted: 200.000000

TUPLE STYLE DUMP WITH REGISTER ASSIGNMENTS
Incoming Parameters: 
BB01 [000..051) (return), preds={} succs={}
=====
  N002.                    IL_OFFSET IL offset: 0x0
  N004.                    CNS_INT   0
  N006. mm0             =  SIMD     
  N008.                    V00 MEM; mm0
  N010.                    IL_OFFSET IL offset: 0x8
  N012. rcx             =  LCL_VAR_ADDR V00 loc0          rcx
  N014. rcx             =  PUTARG_REG; rcx
  N016. rax             =  CALL     ; rcx
  N000. rcx             =  COPY     ; rax
  N018. rcx             =  PUTARG_REG; rcx
  N020.                    CALL     ; rcx
  N022.                    IL_OFFSET IL offset: 0x1a
  N024. rcx             =  CNS_INT   0
  N026.                    V01 MEM; rcx
  N028.                    IL_OFFSET IL offset: 0x22
  N030.                    CNS_INT   0
  N032. rcx             =  LCL_VAR_ADDR V01 loc1          rcx
  N034. STK             =  LEA(b+8) ; rcx
  N036.                    STORE_BLK; STK
  N038.                    IL_OFFSET IL offset: 0x2f
  N040. rcx             =  LCL_FLD_ADDR V01 loc1         [+8] Fseq[b] rcx
  N042. rcx             =  PUTARG_REG; rcx
  N044. rax             =  CALL     ; rcx
  N000. rcx             =  COPY     ; rax
  N046. rcx             =  PUTARG_REG; rcx
  N048.                    CALL     ; rcx
  N050.                    IL_OFFSET IL offset: 0x46
  N052. rcx             =  CNS_INT   8 vector element count
  N054. rcx             =  PUTARG_REG; rcx
  N056.                    CALL     ; rcx
  N058.                    IL_OFFSET IL offset: 0x50
  N060.                    RETURN   




*************** Finishing PHASE Linear scan register alloc
*************** In genGenerateCode()

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------

*************** Starting PHASE Generate code
*************** In fgDebugCheckBBlist
Finalizing stack frame
must init V00 because compInitMem is set and it is not a temp
must init V01 because compInitMem is set and it is not a temp
Modified regs: [rax rcx rdx r8-r11 mm0-mm5]
Callee-saved registers pushed: 0 []
*************** In lvaAssignFrameOffsets(FINAL_FRAME_LAYOUT)
Pad V00 loc0, size=32, stkOffs=-0x20, pad=16
Assign V00 loc0, size=32, stkOffs=-0x40
Assign V01 loc1, size=40, stkOffs=-0x68
Assign V02 OutArgs, size=32, stkOffs=-0x88
--- delta bump 8 for RA
--- delta bump 8 for FP
--- delta bump 0 for RBP frame
--- virtual stack offset to actual stack offset delta is 16
-- V00 was -64, now -48
-- V01 was -104, now -88
-- V02 was -136, now -120
; Final local variable assignments
;
;  V00 loc0         [V00    ] (  1,  1   )  simd32  ->  [rbp-30H]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op
;  V01 loc1         [V01    ] (  1,  1   )  struct (40) [rbp-58H]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op
;  V02 OutArgs      [V02    ] (  1,  1   )  lclBlk (32) [rsp+00H]   do-not-enreg[] "OutgoingArgSpace"
;
; Lcl frame size = 128
Mark labels for codegen
  BB01 : first block
*************** After genMarkLabelsForCodegen()

-----------------------------------------------------------------------------------------------------------------------------------------
BBnum BBid ref try hnd preds           weight    lp [IL range]     [jump]      [EH region]         [flags]
-----------------------------------------------------------------------------------------------------------------------------------------
BB01 [0000]  1                             1       [000..051)        (return)                     i label hascall gcsafe LIR 
-----------------------------------------------------------------------------------------------------------------------------------------
Setting stack level from -572662307 to 0

=============== Generating BB01 [000..051) (return), preds={} succs={} flags=0x00000002.20090020: i label hascall gcsafe LIR 
BB01 IN (0)={} + ByrefExposed + GcHeap
     OUT(0)={} + ByrefExposed + GcHeap

Liveness not changing: 0000000000000000 {}
							Live regs: (unchanged) 00000000 {}
							GC regs: (unchanged) 00000000 {}
							Byref regs: (unchanged) 00000000 {}

      L_M11384_BB01:
Mapped BB01 to G_M11384_IG02
Label: IG02, GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}

Scope info: begin block BB01, IL range [000..051)
Scope info: opening scope, LVnum=0 [000..051)
New debug range: first
Scope info: opening scope, LVnum=1 [000..051)
New debug range: first
Added IP mapping: 0x0000 STACK_EMPTY (G_M11384_IG02,ins#0,ofs#0) label
Generating: N002 (???,???) [000037] ------------                 IL_OFFSET void   IL offset: 0x0 REG NA
Generating: N004 (  1,  1) [000002] -c----------         t2 =    CNS_INT   int    0 REG NA
                                                              /--*  t2     int    
Generating: N006 (  2,  2) [000029] ------------        t29 = *  SIMD      simd32 float init REG mm0
IN0001:        vxorps   ymm0, ymm0
                                                              /--*  t29    simd32 
Generating: N008 (  6,  5) [000003] DA--G-------              *  STORE_LCL_VAR simd32<System.Numerics.Vector`1[Single]>(AX) V00 loc0          NA REG NA
IN0002:        vmovupd  ymmword ptr[V00 rbp-30H], ymm0
Added IP mapping: 0x0008 STACK_EMPTY (G_M11384_IG02,ins#2,ofs#11)
Generating: N010 (???,???) [000038] ------------                 IL_OFFSET void   IL offset: 0x8 REG NA
Generating: N012 (  3,  3) [000005] ------------         t5 =    LCL_VAR_ADDR byref  V00 loc0          rcx REG rcx
IN0003:        lea      rcx, bword ptr [V00 rbp-30H]
							Byref regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t5     byref  
Generating: N014 (???,???) [000044] ------------        t44 = *  PUTARG_REG byref  REG rcx
							Byref regs: 00000002 {rcx} => 00000000 {}
							Byref regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t44    byref  this in rcx
Generating: N016 ( 17, 10) [000006] --CXG-------         t6 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString REG rax
							Byref regs: 00000002 {rcx} => 00000000 {}
							Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0004:        call     System.Numerics.Vector`1[Single][System.Single]:ToString():System.String:this
							GC regs: 00000000 {} => 00000001 {rax}
                                                              /--*  t6     ref    
Generating:                [000049] --CXG-------        t49 = *  COPY      ref    REG rcx
                                                              /--*  t49    ref    
Generating: N018 (???,???) [000045] --CXG-------        t45 = *  PUTARG_REG ref    REG rcx
							GC regs: 00000001 {rax} => 00000000 {}
IN0005:        mov      rcx, rax
							GC regs: 00000000 {} => 00000002 {rcx}
							GC regs: 00000002 {rcx} => 00000000 {}
							GC regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t45    ref    arg0 in rcx
Generating: N020 ( 31, 16) [000007] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
							GC regs: 00000002 {rcx} => 00000000 {}
							Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0006:        call     System.Console:WriteLine(System.String)
Added IP mapping: 0x001A STACK_EMPTY (G_M11384_IG02,ins#6,ofs#28)
Generating: N022 (???,???) [000039] ------------                 IL_OFFSET void   IL offset: 0x1a REG NA
Generating: N024 (  1,  1) [000010] ------------        t10 =    CNS_INT   int    0 REG rcx
IN0007:        xor      ecx, ecx
                                                              /--*  t10    int    
Generating: N026 (  5,  6) [000012] UA--G-------              *  STORE_LCL_FLD int    V01 loc1         [+0] Fseq[a] NA REG NA
IN0008:        mov      dword ptr [V01 rbp-58H], ecx
Added IP mapping: 0x0022 STACK_EMPTY (G_M11384_IG02,ins#8,ofs#33)
Generating: N028 (???,???) [000040] ------------                 IL_OFFSET void   IL offset: 0x22 REG NA
Generating: N030 (  1,  1) [000017] -c----------        t17 =    CNS_INT   int    0 REG NA
Generating: N032 (  3,  2) [000013] U------N----        t13 =    LCL_VAR_ADDR byref  V01 loc1          rcx REG rcx
IN0009:        lea      rcx, bword ptr [V01 rbp-58H]
							Byref regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t13    byref  
Generating: N034 (  5,  5) [000033] -c----------        t33 = *  LEA(b+8)  byref  REG NA
                                                              /--*  t33    byref  
                                                              +--*  t17    int    
Generating: N036 (  8,  7) [000018] nA--G-------              *  STORE_BLK simd32<System.Numerics.Vector`1[Single]> (init) (Unroll) REG NA
							Byref regs: 00000002 {rcx} => 00000000 {}
IN000a:        vxorps   xmm0, xmm0
IN000b:        vmovdqu  xmmword ptr [rcx+8], xmm0
IN000c:        vmovdqu  xmmword ptr [rcx+24], xmm0
Added IP mapping: 0x002F STACK_EMPTY (G_M11384_IG02,ins#12,ofs#54)
Generating: N038 (???,???) [000041] ------------                 IL_OFFSET void   IL offset: 0x2f REG NA
Generating: N040 (  3,  3) [000023] ------------        t23 =    LCL_FLD_ADDR byref  V01 loc1         [+8] Fseq[b] rcx REG rcx
IN000d:        lea      rcx, bword ptr [V01+0x8 rbp-50H]
							Byref regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t23    byref  
Generating: N042 (???,???) [000046] ------------        t46 = *  PUTARG_REG byref  REG rcx
							Byref regs: 00000002 {rcx} => 00000000 {}
							Byref regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t46    byref  this in rcx
Generating: N044 ( 17, 10) [000024] --CXG-------        t24 = *  CALL      ref    System.Numerics.Vector`1[Single][System.Single].ToString REG rax
							Byref regs: 00000002 {rcx} => 00000000 {}
							Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN000e:        call     System.Numerics.Vector`1[Single][System.Single]:ToString():System.String:this
							GC regs: 00000000 {} => 00000001 {rax}
                                                              /--*  t24    ref    
Generating:                [000050] --CXG-------        t50 = *  COPY      ref    REG rcx
                                                              /--*  t50    ref    
Generating: N046 (???,???) [000047] --CXG-------        t47 = *  PUTARG_REG ref    REG rcx
							GC regs: 00000001 {rax} => 00000000 {}
IN000f:        mov      rcx, rax
							GC regs: 00000000 {} => 00000002 {rcx}
							GC regs: 00000002 {rcx} => 00000000 {}
							GC regs: 00000000 {} => 00000002 {rcx}
                                                              /--*  t47    ref    arg0 in rcx
Generating: N048 ( 31, 16) [000025] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
							GC regs: 00000002 {rcx} => 00000000 {}
							Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0010:        call     System.Console:WriteLine(System.String)
Added IP mapping: 0x0046 STACK_EMPTY (G_M11384_IG02,ins#16,ofs#71)
Generating: N050 (???,???) [000042] ------------                 IL_OFFSET void   IL offset: 0x46 REG NA
Generating: N052 (  1,  1) [000026] ------------        t26 =    CNS_INT   int    8 vector element count REG rcx
IN0011:        mov      ecx, 8
                                                              /--*  t26    int    
Generating: N054 (???,???) [000048] ------------        t48 = *  PUTARG_REG int    REG rcx
                                                              /--*  t48    int    arg0 in rcx
Generating: N056 ( 15,  7) [000027] --CXG-------              *  CALL      void   System.Console.WriteLine REG NA
							Call: GCvars=0000000000000000 {}, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0012:        call     System.Console:WriteLine(int)
Added IP mapping: 0x0050 STACK_EMPTY (G_M11384_IG02,ins#18,ofs#81)
Generating: N058 (???,???) [000043] ------------                 IL_OFFSET void   IL offset: 0x50 REG NA
Generating: N060 (  0,  0) [000028] ------------                 RETURN    void   REG NA
Added IP mapping: EPILOG STACK_EMPTY (G_M11384_IG02,ins#18,ofs#81) label
Reserving epilog IG for block BB01
IN0013:        nop      

      G_M11384_IG02:        ; offs=000000H, funclet=00, bbWeight=1   
*************** After placeholder IG creation
G_M11384_IG01:        ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
G_M11384_IG02:        ; offs=000000H, size=0052H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, BB01 [0000], byref
G_M11384_IG03:        ; epilog placeholder, next placeholder=<END>, BB01 [0000], epilog, extend <-- First placeholder <-- Last placeholder
                      ;   PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
                      ;   InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}

Variable Live Range History Dump for BB01
V00 loc0: rbp[-48] (1 slot) [(G_M11384_IG02,ins#0,ofs#0), (G_M11384_IG02,ins#18,ofs#81)]
V01 loc1: rbp[-88] (1 slot) [(G_M11384_IG02,ins#0,ofs#0), (G_M11384_IG02,ins#18,ofs#81)]
Liveness not changing: 0000000000000000 {}

# compCycleEstimate =     98, compSizeEstimate =    59 Scratch.Program:TestSIMDInit()
; Final local variable assignments
;
;  V00 loc0         [V00    ] (  1,  1   )  simd32  ->  [rbp-30H]   do-not-enreg[XSB] must-init addr-exposed ld-addr-op
;  V01 loc1         [V01    ] (  1,  1   )  struct (40) [rbp-58H]   do-not-enreg[XSFB] must-init addr-exposed ld-addr-op
;  V02 OutArgs      [V02    ] (  1,  1   )  lclBlk (32) [rsp+00H]   do-not-enreg[] "OutgoingArgSpace"
;
; Lcl frame size = 128
*************** Before prolog / epilog generation
G_M11384_IG01:        ; func=00, offs=000000H, size=0000H, gcrefRegs=00000000 {} <-- Prolog IG
G_M11384_IG02:        ; offs=000000H, size=0052H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, BB01 [0000], byref
G_M11384_IG03:        ; epilog placeholder, next placeholder=<END>, BB01 [0000], epilog, extend <-- First placeholder <-- Last placeholder
                      ;   PrevGCVars=0000000000000000 {}, PrevGCrefRegs=00000000 {}, PrevByrefRegs=00000000 {}
                      ;   InitGCVars=0000000000000000 {}, InitGCrefRegs=00000000 {}, InitByrefRegs=00000000 {}
*************** In genFnProlog()
Added IP mapping to front: PROLOG STACK_EMPTY (G_M11384_IG01,ins#0,ofs#0) label

__prolog:
Found 18 lvMustInit int-sized stack slots, frame offsets 88 through 16
IN0014:        push     rbp
IN0015:        sub      rsp, 128
IN0016:        vzeroupper 
IN0017:        lea      rbp, [rsp+80H]
IN0018:        xor      rax, rax
IN0019:        mov      qword ptr [rbp-58H], rax
IN001a:        vxorps   xmm4, xmm4
IN001b:        vmovdqa  xmmword ptr [rbp-50H], xmm4
IN001c:        vmovdqa  xmmword ptr [rbp-40H], xmm4
IN001d:        vmovdqa  xmmword ptr [rbp-30H], xmm4
IN001e:        vmovdqa  xmmword ptr [rbp-20H], xmm4
*************** In genEnregisterIncomingStackArgs()


      G_M11384_IG01:        ; offs=000000H, funclet=00, bbWeight=1   
*************** In genFnEpilog()

__epilog:
gcVarPtrSetCur=0000000000000000 {}, gcRegGCrefSetCur=00000000 {}, gcRegByrefSetCur=00000000 {}
IN001f:        vzeroupper 
IN0020:        add      rsp, 128
IN0021:        pop      rbp
IN0022:        ret      

      G_M11384_IG03:        ; offs=000052H, funclet=00, bbWeight=1   
0 prologs, 1 epilogs, 0 funclet prologs, 0 funclet epilogs
*************** After prolog / epilog generation
G_M11384_IG01:        ; func=00, offs=000000H, size=0036H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
G_M11384_IG02:        ; offs=000036H, size=0052H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, BB01 [0000], byref
G_M11384_IG03:        ; offs=000088H, size=000CH, epilog, nogc, extend
*************** In emitJumpDistBind()

*************** Finishing PHASE Generate code

*************** Starting PHASE Emit code

Hot  code size = 0x94 bytes
Cold code size = 0x0 bytes
reserveUnwindInfo(isFunclet=false, isColdCode=false, unwindSize=0x8)
*************** In emitEndCodeGen()
Converting emitMaxStackDepth from bytes (0) to elements (0)

***************************************************************************
Instructions as they come out of the scheduler


G_M11384_IG01:        ; func=00, offs=000000H, size=0036H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG
IN0014: 000000 55                   push     rbp
IN0015: 000001 4881EC80000000       sub      rsp, 128
IN0016: 000008 C5F877               vzeroupper 
IN0017: 00000B 488DAC2480000000     lea      rbp, [rsp+80H]
IN0018: 000013 33C0                 xor      eax, eax
IN0019: 000015 488945A8             mov      qword ptr [rbp-58H], rax
IN001a: 000019 C5D857E4             vxorps   xmm4, xmm4 (ECS:5, ACS:4)
Instruction predicted size = 5, actual = 4
Increasing size adj 0 by 1 => 1
IN001b: 00001D C5F97F65B0           vmovdqa  xmmword ptr [rbp-50H], xmm4 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 1 by 1 => 2
IN001c: 000022 C5F97F65C0           vmovdqa  xmmword ptr [rbp-40H], xmm4 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 2 by 1 => 3
IN001d: 000027 C5F97F65D0           vmovdqa  xmmword ptr [rbp-30H], xmm4 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 3 by 1 => 4
IN001e: 00002C C5F97F65E0           vmovdqa  xmmword ptr [rbp-20H], xmm4 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 4 by 1 => 5
						;; bbWeight=1    PerfScore 8.33
G_M11384_IG02:        ; func=00, offs=000036H, size=0052H, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, BB01 [0000], byref
Block predicted offs = 00000036, actual = 00000031 -> size adj = 5
IN0001: 000031 C5FC57C0             vxorps   ymm0, ymm0 (ECS:5, ACS:4)
Instruction predicted size = 5, actual = 4
Increasing size adj 5 by 1 => 6
IN0002: 000035 C5FD1145D0           vmovupd  ymmword ptr[rbp-30H], ymm0 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 6 by 1 => 7
IN0003: 00003A 488D4DD0             lea      rcx, bword ptr [rbp-30H]
                            ; byrRegs +[rcx]
; Call at 003E [stk=0], GCvars=none, gcrefRegs=00000001 {rax}, byrefRegs=00000000 {}
IN0004: 00003E E82DF7FFFF           call     System.Numerics.Vector`1[Single][System.Single]:ToString():System.String:this
                            ; gcrRegs +[rax]
                            ; byrRegs -[rcx]
IN0005: 000043 488BC8               mov      rcx, rax
                            ; gcrRegs +[rcx]
; Call at 0046 [stk=0], GCvars=none, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0006: 000046 E8DDF8FFFF           call     System.Console:WriteLine(System.String)
                            ; gcrRegs -[rax rcx]
IN0007: 00004B 33C9                 xor      ecx, ecx
IN0008: 00004D 894DA8               mov      dword ptr [rbp-58H], ecx
IN0009: 000050 488D4DA8             lea      rcx, bword ptr [rbp-58H]
                            ; byrRegs +[rcx]
IN000a: 000054 C5F857C0             vxorps   xmm0, xmm0 (ECS:5, ACS:4)
Instruction predicted size = 5, actual = 4
Increasing size adj 7 by 1 => 8
IN000b: 000058 C5FA7F4108           vmovdqu  xmmword ptr [rcx+8], xmm0 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 8 by 1 => 9
IN000c: 00005D C5FA7F4118           vmovdqu  xmmword ptr [rcx+24], xmm0 (ECS:6, ACS:5)
Instruction predicted size = 6, actual = 5
Increasing size adj 9 by 1 => 10
IN000d: 000062 488D4DB0             lea      rcx, bword ptr [rbp-50H]
; Call at 0066 [stk=0], GCvars=none, gcrefRegs=00000001 {rax}, byrefRegs=00000000 {}
IN000e: 000066 E805F7FFFF           call     System.Numerics.Vector`1[Single][System.Single]:ToString():System.String:this
                            ; gcrRegs +[rax]
                            ; byrRegs -[rcx]
IN000f: 00006B 488BC8               mov      rcx, rax
                            ; gcrRegs +[rcx]
; Call at 006E [stk=0], GCvars=none, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0010: 00006E E8B5F8FFFF           call     System.Console:WriteLine(System.String)
                            ; gcrRegs -[rax rcx]
IN0011: 000073 B908000000           mov      ecx, 8
; Call at 0078 [stk=0], GCvars=none, gcrefRegs=00000000 {}, byrefRegs=00000000 {}
IN0012: 000078 E883F8FFFF           call     System.Console:WriteLine(int)
IN0013: 00007D 90                   nop      
						;; bbWeight=1    PerfScore 13.42
G_M11384_IG03:        ; func=00, offs=000088H, size=000CH, epilog, nogc, extend
Block predicted offs = 00000088, actual = 0000007E -> size adj = 10
IN001f: 00007E C5F877               vzeroupper 
IN0020: 000081 4881C480000000       add      rsp, 128
IN0021: 000088 5D                   pop      rbp
IN0022: 000089 C3                   ret      
						;; bbWeight=1    PerfScore 2.75Allocated method code size =  148 , actual size =  138, unused size =   10

; Total bytes of code 138, prolog size 49, PerfScore 39.30, instruction count 34, allocated bytes for code 148 (MethodHash=1924d387) for method Scratch.Program:TestSIMDInit()
; ============================================================

*************** After end code gen, before unwindEmit()
G_M11384_IG01:        ; func=00, offs=000000H, size=0031H, bbWeight=1    PerfScore 8.33, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc, isz <-- Prolog IG

IN0014: 000000 push     rbp
IN0015: 000001 sub      rsp, 128
IN0016: 000008 vzeroupper 
IN0017: 00000B lea      rbp, [rsp+80H]
IN0018: 000013 xor      eax, eax
IN0019: 000015 mov      qword ptr [rbp-58H], rax
IN001a: 000019 vxorps   xmm4, xmm4
IN001b: 00001D vmovdqa  xmmword ptr [rbp-50H], xmm4
IN001c: 000022 vmovdqa  xmmword ptr [rbp-40H], xmm4
IN001d: 000027 vmovdqa  xmmword ptr [rbp-30H], xmm4
IN001e: 00002C vmovdqa  xmmword ptr [rbp-20H], xmm4

G_M11384_IG02:        ; offs=000031H, size=004DH, bbWeight=1    PerfScore 13.42, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, BB01 [0000], byref, isz

IN0001: 000031 vxorps   ymm0, ymm0
IN0002: 000035 vmovupd  ymmword ptr[V00 rbp-30H], ymm0
IN0003: 00003A lea      rcx, bword ptr [V00 rbp-30H]
IN0004: 00003E call     System.Numerics.Vector`1[Single][System.Single]:ToString():System.String:this
IN0005: 000043 mov      rcx, rax
IN0006: 000046 call     System.Console:WriteLine(System.String)
IN0007: 00004B xor      ecx, ecx
IN0008: 00004D mov      dword ptr [V01 rbp-58H], ecx
IN0009: 000050 lea      rcx, bword ptr [V01 rbp-58H]
IN000a: 000054 vxorps   xmm0, xmm0
IN000b: 000058 vmovdqu  xmmword ptr [rcx+8], xmm0
IN000c: 00005D vmovdqu  xmmword ptr [rcx+24], xmm0
IN000d: 000062 lea      rcx, bword ptr [V01+0x8 rbp-50H]
IN000e: 000066 call     System.Numerics.Vector`1[Single][System.Single]:ToString():System.String:this
IN000f: 00006B mov      rcx, rax
IN0010: 00006E call     System.Console:WriteLine(System.String)
IN0011: 000073 mov      ecx, 8
IN0012: 000078 call     System.Console:WriteLine(int)
IN0013: 00007D nop      

G_M11384_IG03:        ; offs=00007EH, size=000CH, bbWeight=1    PerfScore 2.75, epilog, nogc, extend

IN001f: 00007E vzeroupper 
IN0020: 000081 add      rsp, 128
IN0021: 000088 pop      rbp
IN0022: 000089 ret      


*************** Finishing PHASE Emit code

*************** Starting PHASE Emit GC+EH tables
Unwind Info:
  >> Start offset   : 0x000000 (not in unwind data)
  >>   End offset   : 0x00008a (not in unwind data)
  Version           : 1
  Flags             : 0x00
  SizeOfProlog      : 0x08
  CountOfUnwindCodes: 2
  FrameRegister     : none (0)
  FrameOffset       : N/A (no FrameRegister) (Value=0)
  UnwindCodes       :
    CodeOffset: 0x08 UnwindOp: UWOP_ALLOC_SMALL (2)     OpInfo: 15 * 8 + 8 = 128 = 0x80
    CodeOffset: 0x01 UnwindOp: UWOP_PUSH_NONVOL (0)     OpInfo: rbp (5)
allocUnwindInfo(pHotCode=0x00007FF91825C3E0, pColdCode=0x0000000000000000, startOffset=0x0, endOffset=0x8a, unwindSize=0x8, pUnwindBlock=0x0000023460FF5B08, funKind=0 (main function))
*************** In genIPmappingGen()
IP mapping count : 9
IL offs PROLOG : 0x00000000 ( STACK_EMPTY )
IL offs 0x0000 : 0x00000031 ( STACK_EMPTY )
IL offs 0x0008 : 0x0000003A ( STACK_EMPTY )
IL offs 0x001A : 0x0000004B ( STACK_EMPTY )
IL offs 0x0022 : 0x00000050 ( STACK_EMPTY )
IL offs 0x002F : 0x00000062 ( STACK_EMPTY )
IL offs 0x0046 : 0x00000073 ( STACK_EMPTY )
IL offs 0x0050 : 0x0000007D ( STACK_EMPTY )
IL offs EPILOG : 0x0000007D ( STACK_EMPTY )

*************** In genSetScopeInfo()
VarLocInfo count is 2
; Variable debug info: 2 live ranges, 2 vars for method Scratch.Program:TestSIMDInit()
  0(   UNKNOWN) : From 00000031h to 0000007Dh, in rbp[-48] (1 slot)
  1(   UNKNOWN) : From 00000031h to 0000007Dh, in rbp[-88] (1 slot)
VARIABLE LIVE RANGES:
V00 loc0: rbp[-48] (1 slot) [31, 7D)
V01 loc1: rbp[-88] (1 slot) [31, 7D)
*************** In gcInfoBlockHdrSave()
Set code length to 138.
Set ReturnKind to Scalar.
Set stack base register to rbp.
Set Outgoing stack arg area size to 32.
Defining 0 call sites:

*************** Finishing PHASE Emit GC+EH tables
Method code size: 138

Allocations for Scratch.Program:TestSIMDInit() (MethodHash=1924d387)
count:        508, size:      41915, max =       2816
allocateMemory:      65536, nraUsed:      44416

Alloc'd bytes by kind:
                  kind |       size |     pct
  ---------------------+------------+--------
         AssertionProp |          0 |   0.00%
               ASTNode |       6904 |  16.47%
              InstDesc |       4224 |  10.08%
              ImpStack |        384 |   0.92%
            BasicBlock |        848 |   2.02%
             fgArgInfo |        320 |   0.76%
       fgArgInfoPtrArr |         40 |   0.10%
              FlowList |          0 |   0.00%
     TreeStatementList |          0 |   0.00%
               SiScope |          0 |   0.00%
       DominatorMemory |          0 |   0.00%
                  LSRA |       4216 |  10.06%
         LSRA_Interval |       1120 |   2.67%
      LSRA_RefPosition |       7104 |  16.95%
          Reachability |          0 |   0.00%
                   SSA |          0 |   0.00%
           ValueNumber |          0 |   0.00%
              LvaTable |       2048 |   4.89%
            UnwindInfo |          0 |   0.00%
                hashBv |         40 |   0.10%
                bitset |         56 |   0.13%
          FixedBitVect |         16 |   0.04%
               Generic |       1750 |   4.18%
   LocalAddressVisitor |          0 |   0.00%
         FieldSeqStore |        224 |   0.53%
    ZeroOffsetFieldMap |         40 |   0.10%
          ArrayInfoMap |          0 |   0.00%
          MemoryPhiArg |          0 |   0.00%
                   CSE |          0 |   0.00%
                    GC |       1448 |   3.45%
       CorTailCallInfo |          0 |   0.00%
              Inlining |        120 |   0.29%
            ArrayStack |          0 |   0.00%
             DebugInfo |        368 |   0.88%
             DebugOnly |       8875 |  21.17%
               Codegen |        848 |   2.02%
               LoopOpt |         24 |   0.06%
             LoopClone |          0 |   0.00%
             LoopHoist |          0 |   0.00%
               Unknown |        330 |   0.79%
            RangeCheck |          0 |   0.00%
              CopyProp |          0 |   0.00%
           SideEffects |          0 |   0.00%
       ObjectAllocator |          0 |   0.00%
    VariableLiveRanges |        472 |   1.13%
           ClassLayout |         96 |   0.23%
       TailMergeThrows |          0 |   0.00%
             EarlyProp |          0 |   0.00%
              ZeroInit |          0 |   0.00%
                   Pgo |          0 |   0.00%

****** DONE compiling Scratch.Program:TestSIMDInit()
<0, 0, 0, 0, 0, 0, 0, 0>
<0, 0, 0, 0, 0, 0, 0, 0>
8

@sandreenko
Copy link
Contributor

I see. It is because you are changing only genCodeForCpBlkUnroll
and not

void CodeGen::genCodeForInitBlkUnroll(GenTreeBlk* node)

could I ask you to do the same change there if you have time? If not I am ok with merging this, it is still a nice improvement.

@alexcovington
Copy link
Contributor Author

@sandreenko Sure, I'll take a look at genCodeForInitBlkUnroll and update the PR. If it isn't quick to do, I'll let you know and maybe we can just merge the PR as is, but I'll let you know where I end up.

@tannergooding
Copy link
Member

Yeah, the only difference on modern CPUs should be if the read/write crosses a cache-line or page boundary. Using XMM where possible can reduce the chance of that happening, but it might not matter overall in practice and the cost is significantly reduced on the latest generation AMD and Intel CPUs (at least according to the optimization manuals)

@BruceForstall
Copy link
Member

@BruceForstall Ok, I now see what is happening. I'll make the adjustment to lowering and update the PR to remove the uneeded xor eax, eax

It occurs to me that generating a zero into a register means the "const zero" node should not be marked contained, so codegen puts it into a register. So maybe it shouldn't be contained, but should be marked as a type that codegen would use to create an xmm or ymm zero. It's a bit tricky here because if we actually needed a zero in the GPR and xmm/ymm, we only have a single "const zero" node.

@alexcovington
Copy link
Contributor Author

@BruceForstall I've updated the PR with your suggested changes. Now the remainder is handled with an xmm register if it will fit, and the redundant xor <gpr>,<gpr> is no longer being generated.

Now for the test case:

[StructLayout(LayoutKind.Sequential, Size = 33)]
private struct Block33 { }

private static Block33 a, b;

static void ReplaceBlock33()
{
    a = new();
    b = a;
}

The following code is produced:

; Total bytes of code 82, prolog size 7, PerfScore 27.73, instruction count 18, allocated bytes for code 89 (MethodHash=d1aef7f7) for method AVX2BlockMoves.Program:ReplaceBlock33()
; ============================================================

*************** After end code gen, before unwindEmit()
G_M2056_IG01:        ; func=00, offs=000000H, size=0007H, bbWeight=1    PerfScore 2.25, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, byref, nogc <-- Prolog IG

IN000e: 000000 push     rbp
IN000f: 000001 vzeroupper 
IN0010: 000004 mov      rbp, rsp

G_M2056_IG02:        ; offs=000007H, size=0049H, bbWeight=1    PerfScore 15.08, gcrefRegs=00000000 {}, byrefRegs=00000000 {}, BB01 [0000], byref, isz

IN0001: 000007 mov      rax, 0x1A8489E2ED8
IN0002: 000011 mov      rax, gword ptr [rax]
IN0003: 000014 vxorps   ymm0, ymm0
IN0004: 000018 vmovdqu  ymmword ptr[rax+8], ymm0
IN0005: 00001D vmovdqu  xmmword ptr [rax+25], xmm0
IN0006: 000022 mov      rax, 0x1A8489E2ED0
IN0007: 00002C mov      rax, gword ptr [rax]
IN0008: 00002F mov      rdx, 0x1A8489E2ED8
IN0009: 000039 mov      rdx, gword ptr [rdx]
IN000a: 00003C vmovdqu  ymm0, ymmword ptr[rdx+8]
IN000b: 000041 vmovdqu  ymmword ptr[rax+8], ymm0
IN000c: 000046 vmovdqu  xmm0, xmmword ptr [rdx+25]
IN000d: 00004B vmovdqu  xmmword ptr [rax+25], xmm0

G_M2056_IG03:        ; offs=000050H, size=0002H, bbWeight=1    PerfScore 1.50, epilog, nogc, extend

IN0011: 000050 pop      rbp
IN0012: 000051 ret      


*************** Finishing PHASE Emit code
Updated ASM diffs

aspnet.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 1138977
Total bytes of diff: 1128928
Total bytes of delta: -10049 (-0.88% of base)
Total relative delta: -14.79
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         294 : 22476.dasm (1.26% of base)
          62 : 43734.dasm (0.72% of base)
          62 : 41315.dasm (0.72% of base)
          20 : 20305.dasm (0.27% of base)
          18 : 12341.dasm (0.92% of base)
          18 : 30891.dasm (2.68% of base)
          18 : 43272.dasm (2.68% of base)
          18 : 16203.dasm (0.63% of base)
          18 : 18996.dasm (2.68% of base)
          18 : 20753.dasm (2.68% of base)
          17 : 1945.dasm (2.23% of base)
          15 : 17198.dasm (0.57% of base)
          14 : 39658.dasm (2.07% of base)
          14 : 2434.dasm (1.20% of base)
          14 : 23820.dasm (2.06% of base)
          12 : 17637.dasm (0.84% of base)
          12 : 17183.dasm (0.47% of base)
          12 : 36960.dasm (0.64% of base)
          12 : 40590.dasm (2.57% of base)
          12 : 43391.dasm (2.57% of base)

Top file improvements (bytes):
        -291 : 7486.dasm (-14.38% of base)
        -291 : 10714.dasm (-14.38% of base)
        -243 : 9156.dasm (-8.80% of base)
        -239 : 32709.dasm (-17.90% of base)
        -236 : 36362.dasm (-9.59% of base)
        -236 : 28717.dasm (-9.94% of base)
        -205 : 40945.dasm (-18.59% of base)
        -150 : 40946.dasm (-13.37% of base)
        -142 : 15105.dasm (-0.85% of base)
        -134 : 32845.dasm (-2.61% of base)
        -123 : 28884.dasm (-2.54% of base)
         -98 : 24198.dasm (-2.54% of base)
         -95 : 15999.dasm (-2.60% of base)
         -95 : 40605.dasm (-2.52% of base)
         -95 : 27461.dasm (-2.45% of base)
         -91 : 42846.dasm (-2.47% of base)
         -91 : 10419.dasm (-2.48% of base)
         -90 : 15009.dasm (-3.36% of base)
         -86 : 6563.dasm (-5.02% of base)
         -86 : 695.dasm (-4.98% of base)

1026 total files with Code Size differences (597 improved, 429 regressed), 17 unchanged.

Top method regressions (bytes):
         294 ( 1.26% of base) : 22476.dasm - RegexCharClass:.cctor()
          62 ( 0.72% of base) : 43734.dasm - <NextResult>d__47:MoveNext():this
          62 ( 0.72% of base) : 41315.dasm - <NextResult>d__47:MoveNext():this
          20 ( 0.27% of base) : 20305.dasm - <NextResult>d__47:MoveNext():this
          18 ( 0.92% of base) : 12341.dasm - <DetermineVersionAndSendAsync>d__85:MoveNext():this
          18 ( 2.68% of base) : 30891.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          18 ( 2.68% of base) : 43272.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          18 ( 0.63% of base) : 16203.dasm - <DetermineVersionAndSendAsync>d__85:MoveNext():this
          18 ( 2.68% of base) : 18996.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          18 ( 2.68% of base) : 20753.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          17 ( 2.23% of base) : 1945.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          15 ( 0.57% of base) : 17198.dasm - <VerifyClustersAsync>d__31:MoveNext():this
          14 ( 2.07% of base) : 39658.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          14 ( 1.20% of base) : 2434.dasm - MemberInfoCache`1:PopulateFields(Filter):ref:this
          14 ( 2.06% of base) : 23820.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          12 ( 0.84% of base) : 17637.dasm - <ApplyPlaintextFilterAsync>d__104:MoveNext():this
          12 ( 0.47% of base) : 17183.dasm - <VerifyRoutesAsync>d__30:MoveNext():this
          12 ( 0.64% of base) : 36960.dasm - RelationalPropertyExtensions:GetColumnName(IReadOnlyProperty,byref):String
          12 ( 2.57% of base) : 40590.dasm - ConcurrentDictionary`2:TryGetValue(SslCredKey,byref):bool:this
          12 ( 2.57% of base) : 43391.dasm - ConcurrentDictionary`2:TryGetValue(SslCredKey,byref):bool:this

Top method improvements (bytes):
        -291 (-14.38% of base) : 7486.dasm - ActivitySource:CreateActivity(String,int,ActivityContext,String,IEnumerable`1,IEnumerable`1,DateTimeOffset,bool,int):Activity:this
        -291 (-14.38% of base) : 10714.dasm - ActivitySource:CreateActivity(String,int,ActivityContext,String,IEnumerable`1,IEnumerable`1,DateTimeOffset,bool,int):Activity:this
        -243 (-8.80% of base) : 9156.dasm - ActivitySource:CreateActivity(String,int,ActivityContext,String,IEnumerable`1,IEnumerable`1,DateTimeOffset,bool,int):Activity:this
        -239 (-17.90% of base) : 32709.dasm - RelationalTypeMappingParameters:WithTypeMappingInfo(byref):RelationalTypeMappingParameters:this
        -236 (-9.59% of base) : 36362.dasm - RelationalTypeMappingParameters:WithTypeMappingInfo(byref):RelationalTypeMappingParameters:this
        -236 (-9.94% of base) : 28717.dasm - RelationalTypeMappingParameters:WithTypeMappingInfo(byref):RelationalTypeMappingParameters:this
        -205 (-18.59% of base) : 40945.dasm - Http1Connection:BeginRead(byref):bool:this
        -150 (-13.37% of base) : 40946.dasm - StreamPipeReader:ReadAsync(CancellationToken):ValueTask`1:this
        -142 (-0.85% of base) : 15105.dasm - <SendAsyncCore>d__60:MoveNext():this
        -134 (-2.61% of base) : 32845.dasm - RelationshipDiscoveryConvention:FindRelationshipCandidates(IConventionEntityTypeBuilder):IReadOnlyList`1:this
        -123 (-2.54% of base) : 28884.dasm - RelationshipDiscoveryConvention:FindRelationshipCandidates(IConventionEntityTypeBuilder):IReadOnlyList`1:this
         -98 (-2.54% of base) : 24198.dasm - <ProcessRequests>d__223`1:MoveNext():this
         -95 (-2.60% of base) : 15999.dasm - <ProcessRequests>d__223`1:MoveNext():this
         -95 (-2.52% of base) : 40605.dasm - <ProcessRequests>d__223`1:MoveNext():this
         -95 (-2.45% of base) : 27461.dasm - <ProcessRequests>d__223`1:MoveNext():this
         -91 (-2.47% of base) : 42846.dasm - <ProcessRequests>d__223`1:MoveNext():this
         -91 (-2.48% of base) : 10419.dasm - <ProcessRequests>d__223`1:MoveNext():this
         -90 (-3.36% of base) : 15009.dasm - <SendWithRetryAsync>d__87:MoveNext():this
         -86 (-5.02% of base) : 6563.dasm - <ProcessRequestsAsync>d__68:MoveNext():this
         -86 (-4.98% of base) : 695.dasm - <ProcessRequestsAsync>d__68:MoveNext():this

Top method regressions (percentages):
           2 ( 8.33% of base) : 32183.dasm - <GetEnumerator>d__17:System.Collections.Generic.IEnumerator<TElement>.get_Current():KeyValuePair`2:this
           2 ( 5.88% of base) : 1148.dasm - Unsafe:WriteUnaligned(byref,DbRow)
           2 ( 5.26% of base) : 1151.dasm - Unsafe:ReadUnaligned(byref):DbRow
           2 ( 5.13% of base) : 7893.dasm - Enumerator:get_Current():KeyValuePair`2:this
           7 ( 4.83% of base) : 34898.dasm - SslStreamPal:QueryContextStreamSizes(SafeDeleteContext,byref)
           2 ( 4.76% of base) : 37469.dasm - CacheEntry:set_AbsoluteExpiration(Nullable`1):this
           2 ( 4.55% of base) : 1375.dasm - MemoryMarshal:Read(ReadOnlySpan`1):DbRow
           2 ( 4.35% of base) : 27917.dasm - <GetEnumerator>d__17:System.Collections.Generic.IEnumerator<TElement>.get_Current():KeyValuePair`2:this
           2 ( 4.35% of base) : 35276.dasm - <GetEnumerator>d__17:System.Collections.Generic.IEnumerator<TElement>.get_Current():KeyValuePair`2:this
           4 ( 3.81% of base) : 31928.dasm - SslStreamPal:QueryContextStreamSizes(SafeDeleteContext,byref)
           4 ( 3.67% of base) : 36971.dasm - StoreObjectIdentifier:op_Inequality(StoreObjectIdentifier,StoreObjectIdentifier):bool
           2 ( 3.33% of base) : 34387.dasm - ConfiguredValueTaskAwaitable`1:GetAwaiter():ConfiguredValueTaskAwaiter:this
           2 ( 3.28% of base) : 40786.dasm - CacheEntry:CheckForExpiredTime(byref):bool:this
           2 ( 3.17% of base) : 41918.dasm - CacheEntry:CanPropagateOptions():bool:this
           2 ( 3.17% of base) : 510.dasm - ValueTask`1:GetAwaiter():ValueTaskAwaiter`1:this
           2 ( 3.17% of base) : 12163.dasm - ConfiguredValueTaskAwaitable`1:GetAwaiter():ConfiguredValueTaskAwaiter:this
           1 ( 2.86% of base) : 37467.dasm - CacheEntryState:.ctor(int):this
           4 ( 2.84% of base) : 26146.dasm - ComparisonComparer`1:Compare(ValueTuple`3,ValueTuple`3):int:this
          18 ( 2.68% of base) : 30891.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this
          18 ( 2.68% of base) : 43272.dasm - MemberInfoCache`1:GetListByName(long,int,long,int,int,int):ref:this

Top method improvements (percentages):
          -9 (-19.15% of base) : 31210.dasm - ModelMetadata:get_ModelType():Type:this
        -205 (-18.59% of base) : 40945.dasm - Http1Connection:BeginRead(byref):bool:this
        -239 (-17.90% of base) : 32709.dasm - RelationalTypeMappingParameters:WithTypeMappingInfo(byref):RelationalTypeMappingParameters:this
         -36 (-16.82% of base) : 36341.dasm - RelationalTypeMappingInfo:GetHashCode():int:this
         -36 (-16.82% of base) : 28698.dasm - RelationalTypeMappingInfo:GetHashCode():int:this
        -291 (-14.38% of base) : 7486.dasm - ActivitySource:CreateActivity(String,int,ActivityContext,String,IEnumerable`1,IEnumerable`1,DateTimeOffset,bool,int):Activity:this
        -291 (-14.38% of base) : 10714.dasm - ActivitySource:CreateActivity(String,int,ActivityContext,String,IEnumerable`1,IEnumerable`1,DateTimeOffset,bool,int):Activity:this
         -49 (-13.84% of base) : 32699.dasm - ValueTuple`3:GetHashCode():int:this
         -12 (-13.48% of base) : 3014.dasm - RandomAccess:GetNativeOverlappedForSyncHandle(SafeFileHandle,long):NativeOverlapped
        -150 (-13.37% of base) : 40946.dasm - StreamPipeReader:ReadAsync(CancellationToken):ValueTask`1:this
         -11 (-13.25% of base) : 1448.dasm - ValueTask`1:GetAwaiter():ValueTaskAwaiter`1:this
         -11 (-13.25% of base) : 658.dasm - ValueTask`1:GetAwaiter():ValueTaskAwaiter`1:this
         -27 (-12.00% of base) : 19233.dasm - SqlMapper:QueryAsync(IDbConnection,Type,CommandDefinition):Task`1
         -61 (-11.91% of base) : 33230.dasm - RelationalTypeMappingParameters:WithStoreTypeAndSize(String,Nullable`1,Nullable`1):RelationalTypeMappingParameters:this
         -71 (-11.64% of base) : 41616.dasm - ConcurrentDictionary`2:TryGetValueInternal(ModelMetadataIdentity,int,byref):bool:this
         -71 (-11.64% of base) : 43741.dasm - ConcurrentDictionary`2:TryGetValueInternal(ModelMetadataIdentity,int,byref):bool:this
         -27 (-11.30% of base) : 41989.dasm - ViewLocationCacheKey:Equals(Object):bool:this
         -27 (-11.30% of base) : 31605.dasm - ViewLocationCacheKey:Equals(Object):bool:this
          -9 (-10.71% of base) : 33196.dasm - <>c__30`2:<GetOrAddRuntimeAnnotationValue>b__30_0(String,ValueTuple`3):Annotation:this
         -63 (-10.52% of base) : 21534.dasm - ConcurrentDictionary`2:TryGetValueInternal(ModelMetadataIdentity,int,byref):bool:this

1026 total methods with Code Size differences (597 improved, 429 regressed), 17 unchanged.


benchmarks.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 655868
Total bytes of diff: 643049
Total bytes of delta: -12819 (-1.95% of base)
Total relative delta: -29.11
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         294 : 10916.dasm (1.26% of base)
          34 : 856.dasm (4.82% of base)
          32 : 9169.dasm (4.66% of base)
          30 : 8544.dasm (1.34% of base)
          22 : 5153.dasm (2.57% of base)
          22 : 20549.dasm (0.93% of base)
          18 : 8611.dasm (1.60% of base)
          17 : 18619.dasm (2.05% of base)
          16 : 21073.dasm (1.33% of base)
          16 : 748.dasm (2.05% of base)
          14 : 292.dasm (2.13% of base)
          13 : 9071.dasm (0.62% of base)
          12 : 18464.dasm (4.74% of base)
          12 : 20591.dasm (0.74% of base)
          12 : 578.dasm (1.56% of base)
          12 : 3727.dasm (0.72% of base)
          12 : 8606.dasm (1.01% of base)
          12 : 8610.dasm (1.01% of base)
          12 : 2948.dasm (0.25% of base)
          12 : 19769.dasm (0.76% of base)

Top file improvements (bytes):
        -534 : 16707.dasm (-11.54% of base)
        -358 : 9351.dasm (-9.18% of base)
        -320 : 12474.dasm (-32.36% of base)
        -169 : 17266.dasm (-7.73% of base)
        -144 : 16360.dasm (-6.88% of base)
        -135 : 11972.dasm (-39.71% of base)
        -135 : 25233.dasm (-39.71% of base)
        -135 : 9772.dasm (-39.71% of base)
        -134 : 17896.dasm (-13.36% of base)
        -132 : 25479.dasm (-10.71% of base)
        -132 : 25860.dasm (-10.45% of base)
        -126 : 17948.dasm (-6.90% of base)
        -120 : 17814.dasm (-5.23% of base)
        -116 : 19353.dasm (-5.24% of base)
        -115 : 11861.dasm (-13.82% of base)
        -112 : 7692.dasm (-5.22% of base)
        -112 : 5347.dasm (-11.50% of base)
        -112 : 5134.dasm (-11.72% of base)
        -109 : 17761.dasm (-14.10% of base)
        -108 : 25738.dasm (-6.91% of base)

810 total files with Code Size differences (520 improved, 290 regressed), 15 unchanged.

Top method regressions (bytes):
         294 ( 1.26% of base) : 10916.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor()
          34 ( 4.82% of base) : 856.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[__Canon][System.__Canon]:.ctor(int):this
          32 ( 4.66% of base) : 9169.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[Int32][System.Int32]:.ctor(int):this
          30 ( 1.34% of base) : 8544.dasm - Sigil.Emit`1[__Canon][System.__Canon]:LoadConstant(int):Sigil.Emit`1[__Canon]:this
          22 ( 2.57% of base) : 5153.dasm - System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0()
          22 ( 0.93% of base) : 20549.dasm - <DetermineVersionAndSendAsync>d__85:MoveNext():this
          18 ( 1.60% of base) : 8611.dasm - Sigil.Emit`1[__Canon][System.__Canon]:LoadArgument(ushort):Sigil.Emit`1[__Canon]:this
          17 ( 2.05% of base) : 18619.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[Int32],System.Reflection.Metadata.Ecma335.MetadataSizes):this
          16 ( 1.33% of base) : 21073.dasm - DynamicClass:WriteMyEventsListerItemTaskToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.ClassDataContract)
          16 ( 2.05% of base) : 748.dasm - System.Random:AssertInRange(long,long,long)
          14 ( 2.13% of base) : 292.dasm - MemberInfoCache`1[__Canon][System.__Canon]:GetListByName(long,int,long,int,int,int):System.__Canon[]:this
          13 ( 0.62% of base) : 9071.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:SetEntry(Microsoft.Extensions.Caching.Memory.CacheEntry):this
          12 ( 4.74% of base) : 18464.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:AddMethodDefinition(int,int,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,int,System.Reflection.Metadata.ParameterHandle):System.Reflection.Metadata.MethodDefinitionHandle:this
          12 ( 0.74% of base) : 20591.dasm - <ApplyPlaintextFilterAsync>d__104:MoveNext():this
          12 ( 1.56% of base) : 578.dasm - MemberInfoCache`1[__Canon][System.__Canon]:PopulateFields(Filter):System.Reflection.RuntimeFieldInfo[]:this
          12 ( 0.72% of base) : 3727.dasm - Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory:CreateConstructorCallSite(Microsoft.Extensions.DependencyInjection.ServiceLookup.ResultCache,System.Type,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain):Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite:this
          12 ( 1.01% of base) : 8606.dasm - Sigil.Emit`1[__Canon][System.__Canon]:StoreLocal(Sigil.Local):Sigil.Emit`1[__Canon]:this
          12 ( 1.01% of base) : 8610.dasm - Sigil.Emit`1[__Canon][System.__Canon]:LoadLocal(Sigil.Local):Sigil.Emit`1[__Canon]:this
          12 ( 0.25% of base) : 2948.dasm - Newtonsoft.Json.JsonWriter:WriteValue(Newtonsoft.Json.JsonWriter,int,System.Object)
          12 ( 0.76% of base) : 19769.dasm - <Setup_SyncReadAsyncWithCancellationToken>d__8:MoveNext():this

Top method improvements (bytes):
        -534 (-11.54% of base) : 16707.dasm - Microsoft.CodeAnalysis.CSharp.Imports:Validate():this
        -358 (-9.18% of base) : 9351.dasm - System.Diagnostics.Perf_Activity:.cctor()
        -320 (-32.36% of base) : 12474.dasm - System.Memory.MemoryMarshal`1[Byte][System.Byte]:Read():this
        -169 (-7.73% of base) : 17266.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.DiagnosticBag):this
        -144 (-6.88% of base) : 16360.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:AddNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode,System.Collections.Immutable.ImmutableHashSet`1+Builder[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],byref)
        -135 (-39.71% of base) : 11972.dasm - System.Numerics.Tests.Perf_Matrix4x4:SubtractBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 25233.dasm - System.Numerics.Tests.Perf_Matrix4x4:AddBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 9772.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByMatrixBenchmark():System.Numerics.Matrix4x4:this
        -134 (-13.36% of base) : 17896.dasm - Microsoft.CodeAnalysis.CodeGen.ReferenceDependencyWalker:VisitMethodReference(Microsoft.Cci.IMethodReference,Microsoft.CodeAnalysis.Emit.EmitContext)
        -132 (-10.71% of base) : 25479.dasm - System.Collections.IterateForEach`1[Int32][System.Int32]:ImmutableDictionary():int:this
        -132 (-10.45% of base) : 25860.dasm - System.Collections.IterateForEach`1[Int32][System.Int32]:ImmutableHashSet():int:this
        -126 (-6.90% of base) : 17948.dasm - Microsoft.CodeAnalysis.CSharp.SourceDocumentationCommentUtils:GetDocumentationCommentTriviaFromSyntaxNode(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CSharp.Syntax.DocumentationCommentTriviaSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]
        -120 (-5.23% of base) : 17814.dasm - Microsoft.CodeAnalysis.CSharp.ImportChain:TranslateImports(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[UsedNamespaceOrType]:this
        -116 (-5.24% of base) : 19353.dasm - Microsoft.CodeAnalysis.CSharp.InMethodBinder:LookupSymbolsInSingleBinder(Microsoft.CodeAnalysis.CSharp.LookupResult,System.String,int,Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.CSharp.Symbol, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.CSharp.Binder,bool,byref):this
        -115 (-13.82% of base) : 11861.dasm - System.Collections.Tests.Perf_PriorityQueue`2[Guid,Guid][System.Guid,System.Guid]:Dequeue_And_Enqueue():this
        -112 (-5.22% of base) : 7692.dasm - System.Collections.Immutable.ImmutableHashSet`1[Int32][System.Int32]:Union(System.Collections.Generic.IEnumerable`1[Int32],MutationInput[Int32]):MutationResult[Int32]
        -112 (-11.50% of base) : 5347.dasm - System.Net.Security.SslStreamPal:AcceptSecurityContext(byref,byref,System.ReadOnlySpan`1[Byte],byref,System.Net.Security.SslAuthenticationOptions):System.Net.SecurityStatusPal
        -112 (-11.72% of base) : 5134.dasm - System.Net.Security.SslStreamPal:InitializeSecurityContext(byref,byref,System.String,System.ReadOnlySpan`1[Byte],byref,System.Net.Security.SslAuthenticationOptions):System.Net.SecurityStatusPal
        -109 (-14.10% of base) : 17761.dasm - Microsoft.CodeAnalysis.CodeGen.ReferenceDependencyWalker:VisitTypeReference(Microsoft.Cci.ITypeReference,Microsoft.CodeAnalysis.Emit.EmitContext)
        -108 (-6.91% of base) : 25738.dasm - HardwareIntrinsics.RayTracer.Surfaces:.cctor()

Top method regressions (percentages):
           2 (11.76% of base) : 10482.dasm - Benchmarks.SIMD.RayTracer.Plane:Normal(Benchmarks.SIMD.RayTracer.Vector):Benchmarks.SIMD.RayTracer.Vector:this
           2 ( 9.52% of base) : 14894.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:set_StartDate(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 14893.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:set_EndDate(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 13830.dasm - Microsoft.Extensions.Caching.Memory.CacheEntry:set_AbsoluteExpiration(System.Nullable`1[DateTimeOffset]):this
           2 ( 8.33% of base) : 14875.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:get_StartDate():System.Nullable`1[DateTimeOffset]:this
           2 ( 8.33% of base) : 14872.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:get_EndDate():System.Nullable`1[DateTimeOffset]:this
          34 ( 4.82% of base) : 856.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[__Canon][System.__Canon]:.ctor(int):this
          12 ( 4.74% of base) : 18464.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:AddMethodDefinition(int,int,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,int,System.Reflection.Metadata.ParameterHandle):System.Reflection.Metadata.MethodDefinitionHandle:this
           8 ( 4.71% of base) : 18939.dasm - System.Numerics.Tests.Perf_Matrix3x2:MultiplyByMatrixBenchmark():System.Numerics.Matrix3x2:this
          32 ( 4.66% of base) : 9169.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[Int32][System.Int32]:.ctor(int):this
           8 ( 4.52% of base) : 21367.dasm - System.Numerics.Tests.Perf_Matrix3x2:SubtractBenchmark():System.Numerics.Matrix3x2:this
           8 ( 4.52% of base) : 24063.dasm - System.Numerics.Tests.Perf_Matrix3x2:AddBenchmark():System.Numerics.Matrix3x2:this
           4 ( 4.26% of base) : 20861.dasm - System.Numerics.Tests.Perf_Matrix3x2:NegateBenchmark():System.Numerics.Matrix3x2:this
           4 ( 4.04% of base) : 18655.dasm - <>c__DisplayClass14_0:<GetTimeBasedProvider>b__0(System.Collections.Generic.IEnumerable`1[Blob]):System.Reflection.Metadata.BlobContentId:this
           2 ( 4.00% of base) : 4230.dasm - <>c[__Canon,__Canon][System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[Int32,HashBucket]):this
           4 ( 3.81% of base) : 5384.dasm - System.Net.Security.SslStreamPal:QueryContextStreamSizes(System.Net.Security.SafeDeleteContext,byref)
           4 ( 3.70% of base) : 23696.dasm - System.Numerics.Tests.Perf_Matrix3x2:MultiplyByMatrixOperatorBenchmark():System.Numerics.Matrix3x2:this
           4 ( 3.51% of base) : 9944.dasm - System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket][System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:get_Value():System.Collections.Generic.KeyValuePair`2[Int32,HashBucket]:this
           4 ( 3.48% of base) : 8057.dasm - System.Numerics.Tests.Perf_Matrix3x2:SubtractOperatorBenchmark():System.Numerics.Matrix3x2:this
           4 ( 3.48% of base) : 22632.dasm - System.Numerics.Tests.Perf_Matrix3x2:AddOperatorBenchmark():System.Numerics.Matrix3x2:this

Top method improvements (percentages):
        -135 (-39.71% of base) : 11972.dasm - System.Numerics.Tests.Perf_Matrix4x4:SubtractBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 25233.dasm - System.Numerics.Tests.Perf_Matrix4x4:AddBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 9772.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByMatrixBenchmark():System.Numerics.Matrix4x4:this
         -81 (-35.06% of base) : 26424.dasm - System.Numerics.Tests.Perf_Matrix4x4:LerpBenchmark():System.Numerics.Matrix4x4:this
         -60 (-34.88% of base) : 11429.dasm - System.Numerics.Tests.Perf_Matrix4x4:NegateBenchmark():System.Numerics.Matrix4x4:this
         -63 (-33.87% of base) : 5570.dasm - System.Numerics.Tests.Perf_Matrix4x4:EqualityOperatorBenchmark():bool:this
         -63 (-33.87% of base) : 8064.dasm - System.Numerics.Tests.Perf_Matrix4x4:InequalityOperatorBenchmark():bool:this
         -60 (-33.33% of base) : 10766.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByScalarBenchmark():System.Numerics.Matrix4x4:this
        -320 (-32.36% of base) : 12474.dasm - System.Memory.MemoryMarshal`1[Byte][System.Byte]:Read():this
         -99 (-32.25% of base) : 25236.dasm - System.Numerics.Tests.Perf_Matrix4x4:EqualsBenchmark():bool:this
         -63 (-32.14% of base) : 15777.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByMatrixOperatorBenchmark():System.Numerics.Matrix4x4:this
         -63 (-32.14% of base) : 24457.dasm - System.Numerics.Tests.Perf_Matrix4x4:SubtractOperatorBenchmark():System.Numerics.Matrix4x4:this
         -63 (-32.14% of base) : 23699.dasm - System.Numerics.Tests.Perf_Matrix4x4:AddOperatorBenchmark():System.Numerics.Matrix4x4:this
         -60 (-27.40% of base) : 25956.dasm - System.Numerics.Tests.Perf_Matrix4x4:InvertBenchmark():bool:this
          -7 (-26.92% of base) : 920.dasm - Enumerator[Measurement][BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this
          -7 (-26.92% of base) : 921.dasm - <GetMeasurements>d__14:System.Collections.Generic.IEnumerator<BenchmarkDotNet.Reports.Measurement>.get_Current():BenchmarkDotNet.Reports.Measurement:this
          -7 (-26.92% of base) : 9332.dasm - <ZipIterator>d__279`2[Guid,Guid][System.Guid,System.Guid]:System.Collections.Generic.IEnumerator<(TFirstFirst,TSecondSecond)>.get_Current():System.ValueTuple`2[Guid,Guid]:this
         -27 (-26.21% of base) : 13079.dasm - System.Numerics.Tests.Perf_Quaternion:CreateFromRotationMatrixBenchmark():System.Numerics.Quaternion:this
         -27 (-26.21% of base) : 13075.dasm - System.Numerics.Tests.Perf_Matrix4x4:Transpose():System.Numerics.Matrix4x4:this
         -27 (-26.21% of base) : 24866.dasm - System.Numerics.Tests.Perf_Matrix4x4:NegationOperatorBenchmark():System.Numerics.Matrix4x4:this

810 total methods with Code Size differences (520 improved, 290 regressed), 15 unchanged.


coreclr_tests.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 5352051
Total bytes of diff: 5273417
Total bytes of delta: -78634 (-1.47% of base)
Total relative delta: -180.84
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         173 : 219904.dasm (0.95% of base)
         123 : 225682.dasm (3.26% of base)
         123 : 225690.dasm (3.30% of base)
          64 : 171225.dasm (2.48% of base)
          60 : 170597.dasm (2.38% of base)
          40 : 171556.dasm (2.01% of base)
          34 : 167239.dasm (0.60% of base)
          33 : 171232.dasm (1.52% of base)
          33 : 171239.dasm (1.52% of base)
          31 : 167250.dasm (2.21% of base)
          31 : 213250.dasm (4.41% of base)
          30 : 170730.dasm (1.41% of base)
          30 : 170863.dasm (1.41% of base)
          23 : 171822.dasm (1.37% of base)
          23 : 171689.dasm (1.37% of base)
          19 : 171222.dasm (1.13% of base)
          19 : 173815.dasm (4.50% of base)
          19 : 173816.dasm (4.81% of base)
          19 : 173817.dasm (4.56% of base)
          19 : 171896.dasm (5.19% of base)

Top file improvements (bytes):
       -1481 : 194830.dasm (-19.37% of base)
       -1113 : 171251.dasm (-23.52% of base)
       -1087 : 171091.dasm (-23.29% of base)
       -1063 : 171250.dasm (-19.75% of base)
       -1036 : 171072.dasm (-19.46% of base)
        -480 : 81476.dasm (-30.34% of base)
        -432 : 191529.dasm (-9.18% of base)
        -432 : 192097.dasm (-9.18% of base)
        -432 : 191842.dasm (-9.18% of base)
        -386 : 251271.dasm (-40.21% of base)
        -376 : 233037.dasm (-33.07% of base)
        -376 : 226203.dasm (-33.07% of base)
        -372 : 218861.dasm (-22.63% of base)
        -370 : 218431.dasm (-34.45% of base)
        -367 : 195815.dasm (-27.17% of base)
        -366 : 227266.dasm (-33.30% of base)
        -360 : 191838.dasm (-11.19% of base)
        -360 : 191525.dasm (-11.19% of base)
        -360 : 192093.dasm (-11.19% of base)
        -352 : 226302.dasm (-29.31% of base)

3272 total files with Code Size differences (2596 improved, 676 regressed), 36 unchanged.

Top method regressions (bytes):
         173 ( 0.95% of base) : 219904.dasm - DefaultNamespace.cb6054ToByte_all:runTest():bool:this
         123 ( 3.26% of base) : 225682.dasm - IntelHardwareIntrinsicTest.Program:.cctor()
         123 ( 3.30% of base) : 225690.dasm - IntelHardwareIntrinsicTest.Program:.cctor()
          64 ( 2.48% of base) : 171225.dasm - NullableTest16:Run()
          60 ( 2.38% of base) : 170597.dasm - NullableTest16:Run()
          40 ( 2.01% of base) : 171556.dasm - NullableTest16:Run()
          34 ( 0.60% of base) : 167239.dasm - Internal.IL.ILImporter:ImportCall(int,int):this
          33 ( 1.52% of base) : 171232.dasm - NullableTest23:Run()
          33 ( 1.52% of base) : 171239.dasm - NullableTest30:Run()
          31 ( 2.21% of base) : 167250.dasm - Internal.IL.ILImporter:PropagateControlFlow(BasicBlock,bool):this
          31 ( 4.41% of base) : 213250.dasm - StructABI:EchoNested9Wrapper():bool
          30 ( 1.41% of base) : 170730.dasm - NullableTest23:Run()
          30 ( 1.41% of base) : 170863.dasm - NullableTest30:Run()
          23 ( 1.37% of base) : 171822.dasm - NullableTest30:Run()
          23 ( 1.37% of base) : 171689.dasm - NullableTest23:Run()
          19 ( 1.13% of base) : 171222.dasm - NullableTest13:Run()
          19 ( 4.50% of base) : 173815.dasm - NullableTest34:BoxUnboxToNQGen(double):bool
          19 ( 4.81% of base) : 173816.dasm - NullableTest34:BoxUnboxToNQGen(System.Numerics.Vector`1[Single]):bool
          19 ( 4.56% of base) : 173817.dasm - NullableTest34:BoxUnboxToNQGen(long):bool
          19 ( 5.19% of base) : 171896.dasm - NullableTest34:BoxUnboxToNQGenC(System.Nullable`1[Byte]):bool

Top method improvements (bytes):
       -1481 (-19.37% of base) : 194830.dasm - testout1:.cctor()
       -1113 (-23.52% of base) : 171251.dasm - NullableTest44:Run()
       -1087 (-23.29% of base) : 171091.dasm - NullableTest44:Run()
       -1063 (-19.75% of base) : 171250.dasm - NullableTest43:Run()
       -1036 (-19.46% of base) : 171072.dasm - NullableTest43:Run()
        -480 (-30.34% of base) : 81476.dasm - Matrix4x4Test:Matrix4x4CreateScaleCenterTest3():int
        -432 (-9.18% of base) : 191529.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
        -432 (-9.18% of base) : 192097.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
        -432 (-9.18% of base) : 191842.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetHexadecaDataPoint(int):System.ValueTuple`8[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`1]:this
        -386 (-40.21% of base) : 251271.dasm - Struct_512bytes:.ctor(long):this
        -376 (-33.07% of base) : 233037.dasm - AA:reset()
        -376 (-33.07% of base) : 226203.dasm - AA:reset()
        -372 (-22.63% of base) : 218861.dasm - AA:reset()
        -370 (-34.45% of base) : 218431.dasm - AA:reset()
        -367 (-27.17% of base) : 195815.dasm - ILStubClass:IL_STUB_PInvoke(long,MCCTest.VType3,double,MCCTest.VType3,float,MCCTest.VType3,int,MCCTest.VType3,ushort,MCCTest.VType3,int,MCCTest.VType3,float,MCCTest.VType3,long,MCCTest.VType3,float,MCCTest.VType3,double,MCCTest.VType3,float,MCCTest.VType3,short,MCCTest.VType3):MCCTest.VType3
        -366 (-33.30% of base) : 227266.dasm - AA:reset()
        -360 (-11.19% of base) : 191838.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetCheckMethodSixteen4DataPoint(int):System.ValueTuple`6[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8]:this
        -360 (-11.19% of base) : 191525.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetCheckMethodSixteen4DataPoint(int):System.ValueTuple`6[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8]:this
        -360 (-11.19% of base) : 192093.dasm - IntelHardwareIntrinsicTest.TestTableSse2`2[Byte,Int64][System.Byte,System.Int64]:GetCheckMethodSixteen4DataPoint(int):System.ValueTuple`6[ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8,ValueTuple`8]:this
        -352 (-29.31% of base) : 226302.dasm - AA:reset()

Top method regressions (percentages):
          16 (12.70% of base) : 248861.dasm - GitHub_23739:Test3f(Cls3f)
           2 (11.76% of base) : 219438.dasm - Plane:Normal(Vector):Vector:this
           3 (11.11% of base) : 219440.dasm - Ray:.ctor(Vector,Vector):this
           3 (10.71% of base) : 219436.dasm - Light:.ctor(Vector,Color):this
           4 ( 9.52% of base) : 86372.dasm - Test:Convert(long):StructY
          12 ( 8.82% of base) : 230828.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.82% of base) : 231719.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.82% of base) : 230893.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.82% of base) : 230970.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 171143.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 214629.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 214878.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 102072.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 102320.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 214216.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 229554.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 229670.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 101572.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 101843.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 173161.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool

Top method improvements (percentages):
         -26 (-44.83% of base) : 213702.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_04():HVA128_04[Byte]:this
        -386 (-40.21% of base) : 251271.dasm - Struct_512bytes:.ctor(long):this
         -11 (-39.29% of base) : 86408.dasm - Program:Test(byref)
        -370 (-34.45% of base) : 218431.dasm - AA:reset()
        -366 (-33.30% of base) : 227266.dasm - AA:reset()
        -376 (-33.07% of base) : 233037.dasm - AA:reset()
        -376 (-33.07% of base) : 226203.dasm - AA:reset()
        -134 (-31.75% of base) : 85546.dasm - JitTest.Test:Main():int
         -23 (-31.51% of base) : 213553.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_04():HVA128_04[Byte]:this
        -134 (-31.46% of base) : 85547.dasm - JitTest.Test:Main():int
         -10 (-31.25% of base) : 213700.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_02():HVA128_02[Byte]:this
         -20 (-30.77% of base) : 212578.dasm - <>c__DisplayClass3_0:<ValidateAssemblyIsolation>b__0():this
        -480 (-30.34% of base) : 81476.dasm - Matrix4x4Test:Matrix4x4CreateScaleCenterTest3():int
         -35 (-29.91% of base) : 248780.dasm - UninitializedHighWord.App:PrepareMethods()
         -98 (-29.70% of base) : 248779.dasm - UninitializedHighWord.App:StompStackBelowCallerSP()
         -95 (-29.50% of base) : 85544.dasm - JitTest.Test:Main():int
        -352 (-29.31% of base) : 226302.dasm - AA:reset()
         -95 (-29.23% of base) : 85545.dasm - JitTest.Test:Main():int
         -13 (-28.89% of base) : 213701.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_03():HVA128_03[Byte]:this
         -11 (-27.50% of base) : 213715.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA64_05():HVA64_05[Byte]:this

3272 total methods with Code Size differences (2596 improved, 676 regressed), 36 unchanged.


libraries.crossgen2.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 3721792
Total bytes of diff: 3719245
Total bytes of delta: -2547 (-0.07% of base)
Total relative delta: -9.87
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          82 : 7231.dasm (0.93% of base)
          61 : 214176.dasm (3.41% of base)
          61 : 168666.dasm (3.38% of base)
          58 : 214138.dasm (3.49% of base)
          58 : 168611.dasm (3.49% of base)
          58 : 171885.dasm (3.49% of base)
          54 : 93415.dasm (0.62% of base)
          54 : 171446.dasm (1.76% of base)
          48 : 21546.dasm (1.35% of base)
          34 : 171807.dasm (1.64% of base)
          34 : 171145.dasm (2.05% of base)
          34 : 204781.dasm (1.50% of base)
          34 : 204747.dasm (1.63% of base)
          33 : 204778.dasm (0.78% of base)
          31 : 171843.dasm (0.91% of base)
          31 : 171138.dasm (2.13% of base)
          28 : 168319.dasm (1.85% of base)
          28 : 171160.dasm (2.58% of base)
          28 : 171298.dasm (2.31% of base)
          24 : 214167.dasm (5.11% of base)

Top file improvements (bytes):
        -722 : 116085.dasm (-1.48% of base)
        -160 : 69489.dasm (-7.15% of base)
        -156 : 193054.dasm (-5.86% of base)
        -104 : 93699.dasm (-1.92% of base)
         -62 : 61297.dasm (-0.51% of base)
         -56 : 75446.dasm (-2.61% of base)
         -50 : 204944.dasm (-4.09% of base)
         -50 : 204978.dasm (-4.79% of base)
         -50 : 204979.dasm (-4.94% of base)
         -48 : 123952.dasm (-0.29% of base)
         -47 : 204980.dasm (-3.68% of base)
         -46 : 160307.dasm (-10.09% of base)
         -44 : 148027.dasm (-1.13% of base)
         -40 : 172588.dasm (-9.11% of base)
         -37 : 179158.dasm (-2.11% of base)
         -37 : 143137.dasm (-1.67% of base)
         -36 : 143130.dasm (-2.75% of base)
         -36 : 143136.dasm (-1.67% of base)
         -30 : 168589.dasm (-8.96% of base)
         -30 : 214129.dasm (-8.96% of base)

2678 total files with Code Size differences (1621 improved, 1057 regressed), 4622 unchanged.

Top method regressions (bytes):
          82 ( 0.93% of base) : 7231.dasm - BigNumber:.cctor()
          61 ( 3.41% of base) : 214176.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          61 ( 3.38% of base) : 168666.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          58 ( 3.49% of base) : 214138.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[System.Byte],int,System.String,System.Span`1[System.Byte])
          58 ( 3.49% of base) : 168611.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[System.Byte],int,System.String,System.Span`1[System.Byte])
          58 ( 3.49% of base) : 171885.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[System.Byte],int,System.String,System.Span`1[System.Byte])
          54 ( 0.62% of base) : 93415.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:.cctor()
          54 ( 1.76% of base) : 171446.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithMac(System.ReadOnlySpan`1[System.Char],System.Security.Cryptography.HashAlgorithmName,int):this
          48 ( 1.35% of base) : 21546.dasm - System.Data.Common.SqlDecimalStorage:Aggregate(System.Int32[],int):System.Object:this
          34 ( 1.64% of base) : 171807.dasm - System.Security.Cryptography.Asn1.PssParamsAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          34 ( 2.05% of base) : 171145.dasm - System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          34 ( 1.50% of base) : 204781.dasm - System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          34 ( 1.63% of base) : 204747.dasm - System.Security.Cryptography.Asn1.PssParamsAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          33 ( 0.78% of base) : 204778.dasm - System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
          31 ( 0.91% of base) : 171843.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[System.Byte],byref)
          31 ( 2.13% of base) : 171138.dasm - System.Security.Cryptography.Pkcs.Asn1.SignedDataAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          28 ( 1.85% of base) : 168319.dasm - System.Security.Cryptography.Asn1.RSAPrivateKeyAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
          28 ( 2.58% of base) : 171160.dasm - System.Security.Cryptography.Pkcs.Asn1.Rfc3161TimeStampReq:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          28 ( 2.31% of base) : 171298.dasm - System.Security.Cryptography.Pkcs.Asn1.KeyAgreeRecipientInfoAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          24 ( 5.11% of base) : 214167.dasm - System.Security.Cryptography.KeyFormatHelper:WritePkcs8(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.AsnWriter,System.Formats.Asn1.AsnWriter):System.Formats.Asn1.AsnWriter

Top method improvements (bytes):
        -722 (-1.48% of base) : 116085.dasm - Microsoft.Diagnostics.Tracing.CtfTraceEventSource:InitEventMap():System.Collections.Generic.Dictionary`2[System.String, Microsoft.Diagnostics.Tracing.ETWMapping]
        -160 (-7.15% of base) : 69489.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor()
        -156 (-5.86% of base) : 193054.dasm - System.Reflection.TypeLoading.Utf8Constants:.cctor()
        -104 (-1.92% of base) : 93699.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:.cctor()
         -62 (-0.51% of base) : 61297.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -56 (-2.61% of base) : 75446.dasm - System.Reflection.Emit.MethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.ILGenerator):this
         -50 (-4.09% of base) : 204944.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2Collection:ImportFromPem(System.ReadOnlySpan`1[System.Char]):this
         -50 (-4.79% of base) : 204978.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ExtractKeyFromEncryptedPem(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.Func`1[System.__Canon],System.Func`2[System.__Canon, System.Security.Cryptography.X509Certificates.X509Certificate2]):System.Security.Cryptography.X509Certificates.X509Certificate2
         -50 (-4.94% of base) : 204979.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ExtractKeyFromPem(System.ReadOnlySpan`1[System.Char],System.String[],System.Func`1[System.__Canon],System.Func`2[System.__Canon, System.Security.Cryptography.X509Certificates.X509Certificate2]):System.Security.Cryptography.X509Certificates.X509Certificate2
         -48 (-0.29% of base) : 123952.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor()
         -47 (-3.68% of base) : 204980.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[System.Char]):System.Security.Cryptography.X509Certificates.X509Certificate2
         -46 (-10.09% of base) : 160307.dasm - System.Data.OleDb.OleDbCommand:ApplyParameterBindings(System.Data.Common.UnsafeNativeMethods+ICommandWithParameters,System.Data.OleDb.tagDBPARAMBINDINFO[]):this
         -44 (-1.13% of base) : 148027.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterConstraint],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],int,Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterConstraint]
         -40 (-9.11% of base) : 172588.dasm - System.Net.Security.TlsFrameHelper:.cctor()
         -37 (-2.11% of base) : 179158.dasm - System.Security.Cryptography.PemEncoding:TryFind(System.ReadOnlySpan`1[System.Char],byref):bool
         -37 (-1.67% of base) : 143137.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseLetList():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ExpressionRangeVariableSyntax]:this
         -36 (-2.75% of base) : 143130.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseJoinControlVar():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CollectionRangeVariableSyntax:this
         -36 (-1.67% of base) : 143136.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseFromControlVars():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CollectionRangeVariableSyntax]:this
         -30 (-8.96% of base) : 168589.dasm - System.Security.Cryptography.RsaPaddingProcessor:.cctor()
         -30 (-8.96% of base) : 214129.dasm - System.Security.Cryptography.RsaPaddingProcessor:.cctor()

Top method regressions (percentages):
           2 (11.76% of base) : 182697.dasm - <GetAsyncStepInfos>d__21:System.Collections.Generic.IEnumerator<Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo>.get_Current():Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo:this
           2 (11.76% of base) : 91915.dasm - Enumerator:get_Current():System.Collections.Generic.KeyValuePair`2[System.Diagnostics.Tracing.EventProvider+SessionInfo, System.Boolean]:this
           2 (11.76% of base) : 122095.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalysisScope:get_FilterSpanOpt():System.Nullable`1[Microsoft.CodeAnalysis.Text.TextSpan]:this
           2 (11.76% of base) : 62799.dasm - <OrderBy>d__3`1:System.Collections.Generic.IEnumerator<T>.get_Current():System.Reflection.Metadata.Ecma335.MetadataBuilder+CustomDebugInformationRow:this
           2 (11.76% of base) : 121508.dasm - Microsoft.CodeAnalysis.CodeGen.LocalDefinition:get_SlotInfo():Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo:this
           2 ( 8.33% of base) : 122573.dasm - Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo:.ctor(Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo,Microsoft.Cci.ITypeReference):this
           2 ( 8.33% of base) : 120199.dasm - ChangeRangeWithText:.ctor(Microsoft.CodeAnalysis.Text.TextChangeRange,System.String):this
           1 ( 8.33% of base) : 194982.dasm - CacheEntryState:.ctor(int):this
          11 ( 6.63% of base) : 23677.dasm - System.Data.SqlTypes.SqlDateTime:CompareTo(System.Data.SqlTypes.SqlDateTime):int:this
          11 ( 6.63% of base) : 23565.dasm - System.Data.SqlTypes.SqlDecimal:CompareTo(System.Data.SqlTypes.SqlDecimal):int:this
           2 ( 5.88% of base) : 182696.dasm - <GetAsyncStepInfos>d__21:System.Collections.IEnumerator.get_Current():System.Object:this
           2 ( 5.88% of base) : 60901.dasm - Enumerator:System.Collections.IEnumerator.get_Current():System.Object:this
           2 ( 5.88% of base) : 62798.dasm - <OrderBy>d__3`1:System.Collections.IEnumerator.get_Current():System.Object:this
           1 ( 5.56% of base) : 120819.dasm - <>c:<GetLocalSlotDebugInfos>b__425_1(Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo):Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo:this
           2 ( 5.56% of base) : 23579.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlSingle():System.Data.SqlTypes.SqlSingle:this
           2 ( 5.56% of base) : 23582.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlInt32():System.Data.SqlTypes.SqlInt32:this
           2 ( 5.56% of base) : 23586.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlBoolean():System.Data.SqlTypes.SqlBoolean:this
           1 ( 5.26% of base) : 147901.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey:.ctor(ubyte,int,int):this
           2 ( 5.26% of base) : 118720.dasm - System.Speech.Synthesis.TtsEngine.ContourPoint:Equals(System.Speech.Synthesis.TtsEngine.ContourPoint):bool:this
           4 ( 5.13% of base) : 147891.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey:First(Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey,Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey):Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey

Top method improvements (percentages):
         -14 (-15.73% of base) : 117984.dasm - System.Speech.Recognition.SrgsGrammar.SrgsRule:.cctor()
         -14 (-14.89% of base) : 14048.dasm - System.Xml.XmlConvert:ToString(System.TimeSpan):System.String
         -14 (-14.89% of base) : 8011.dasm - System.Xml.Schema.XmlBaseConverter:DurationToString(System.TimeSpan):System.String
         -20 (-14.39% of base) : 126130.dasm - Microsoft.Cci.InstructionOperandTypes:.cctor()
         -14 (-14.00% of base) : 7995.dasm - System.Xml.Schema.XmlBaseConverter:YearMonthDurationToString(System.TimeSpan):System.String
         -14 (-14.00% of base) : 8012.dasm - System.Xml.Schema.XmlBaseConverter:DayTimeDurationToString(System.TimeSpan):System.String
         -14 (-12.96% of base) : 7839.dasm - System.Xml.Schema.XmlUntypedStringConverter:StringToDuration(System.String):System.TimeSpan:this
         -14 (-12.61% of base) : 8032.dasm - System.Xml.Schema.XmlBaseConverter:StringToDuration(System.String):System.TimeSpan
          -5 (-12.50% of base) : 205511.dasm - Enumerator:.ctor(System.ReadOnlySpan`1[System.Char]):this
          -6 (-12.00% of base) : 205508.dasm - PemFieldItem:.ctor(System.ReadOnlySpan`1[System.Char],System.Security.Cryptography.PemFields):this
          -6 (-12.00% of base) : 59487.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ArgDestination:.ctor(ILCompiler.DependencyAnalysis.ReadyToRun.TransitionBlock,int,System.Nullable`1[ILCompiler.DependencyAnalysis.ReadyToRun.ArgLocDesc]):this
         -14 (-11.97% of base) : 8016.dasm - System.Xml.Schema.XmlBaseConverter:StringToYearMonthDuration(System.String):System.TimeSpan
         -14 (-11.97% of base) : 8033.dasm - System.Xml.Schema.XmlBaseConverter:StringToDayTimeDuration(System.String):System.TimeSpan
          -6 (-11.76% of base) : 205507.dasm - PemFieldItem:Deconstruct(byref,byref):this
         -15 (-11.54% of base) : 205510.dasm - Enumerator:get_Current():Internal.Cryptography.PemEnumerator+Enumerator+PemFieldItem:this
         -14 (-11.29% of base) : 194051.dasm - System.IO.Packaging.ContentType:.cctor()
          -8 (-10.81% of base) : 61169.dasm - System.Reflection.Metadata.MetadataReader:.cctor()
         -46 (-10.09% of base) : 160307.dasm - System.Data.OleDb.OleDbCommand:ApplyParameterBindings(System.Data.Common.UnsafeNativeMethods+ICommandWithParameters,System.Data.OleDb.tagDBPARAMBINDINFO[]):this
          -2 (-9.52% of base) : 60844.dasm - Enumerator:Reset():this
         -40 (-9.11% of base) : 172588.dasm - System.Net.Security.TlsFrameHelper:.cctor()

2678 total methods with Code Size differences (1621 improved, 1057 regressed), 4622 unchanged.


libraries.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 4793285
Total bytes of diff: 4730932
Total bytes of delta: -62353 (-1.30% of base)
Total relative delta: -81.69
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         459 : 84712.dasm (0.87% of base)
         428 : 142391.dasm (4.03% of base)
         294 : 223788.dasm (1.26% of base)
         156 : 191569.dasm (2.93% of base)
         114 : 117585.dasm (3.09% of base)
          78 : 49933.dasm (0.45% of base)
          64 : 78897.dasm (2.27% of base)
          58 : 219282.dasm (3.45% of base)
          58 : 218205.dasm (3.45% of base)
          58 : 217184.dasm (3.45% of base)
          52 : 217111.dasm (2.99% of base)
          52 : 218167.dasm (2.99% of base)
          50 : 117669.dasm (1.40% of base)
          49 : 152888.dasm (5.94% of base)
          48 : 30416.dasm (5.23% of base)
          47 : 219721.dasm (1.37% of base)
          46 : 66952.dasm (2.98% of base)
          41 : 66865.dasm (3.29% of base)
          41 : 49634.dasm (2.06% of base)
          40 : 142387.dasm (1.18% of base)

Top file improvements (bytes):
        -813 : 50920.dasm (-25.22% of base)
        -798 : 41155.dasm (-24.98% of base)
        -756 : 42777.dasm (-9.84% of base)
        -694 : 63815.dasm (-11.67% of base)
        -627 : 31639.dasm (-10.76% of base)
        -571 : 52504.dasm (-7.35% of base)
        -542 : 53824.dasm (-10.87% of base)
        -536 : 24374.dasm (-21.62% of base)
        -513 : 43484.dasm (-18.95% of base)
        -511 : 53272.dasm (-28.63% of base)
        -508 : 42795.dasm (-28.32% of base)
        -504 : 42689.dasm (-8.08% of base)
        -437 : 42694.dasm (-10.22% of base)
        -426 : 53672.dasm (-5.47% of base)
        -425 : 53506.dasm (-8.14% of base)
        -424 : 42914.dasm (-17.01% of base)
        -422 : 78281.dasm (-8.96% of base)
        -370 : 141627.dasm (-13.61% of base)
        -370 : 141630.dasm (-13.21% of base)
        -321 : 171310.dasm (-8.60% of base)

8139 total files with Code Size differences (3035 improved, 5104 regressed), 170 unchanged.

Top method regressions (bytes):
         459 ( 0.87% of base) : 84712.dasm - Microsoft.Diagnostics.Tracing.CtfTraceEventSource:InitEventMap():System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Microsoft.Diagnostics.Tracing.ETWMapping, Microsoft.Diagnostics.Tracing.TraceEvent, Version=2.0.65.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]
         428 ( 4.03% of base) : 142391.dasm - BigNumber:.cctor()
         294 ( 1.26% of base) : 223788.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor()
         156 ( 2.93% of base) : 191569.dasm - System.Drawing.ColorTranslator:InitializeHtmlSysColorTable()
         114 ( 3.09% of base) : 117585.dasm - System.Data.Common.SqlDecimalStorage:Aggregate(System.Int32[],int):System.Object:this
          78 ( 0.45% of base) : 49933.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,bool,bool,bool,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this
          64 ( 2.27% of base) : 78897.dasm - Microsoft.CodeAnalysis.SyntaxDiffer:GetNextAction():DiffAction:this
          58 ( 3.45% of base) : 219282.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[Byte],int,System.String,System.Span`1[Byte])
          58 ( 3.45% of base) : 218205.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[Byte],int,System.String,System.Span`1[Byte])
          58 ( 3.45% of base) : 217184.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[Byte],int,System.String,System.Span`1[Byte])
          52 ( 2.99% of base) : 217111.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          52 ( 2.99% of base) : 218167.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          50 ( 1.40% of base) : 117669.dasm - System.Data.Common.SqlMoneyStorage:Aggregate(System.Int32[],int):System.Object:this
          49 ( 5.94% of base) : 152888.dasm - System.Speech.Internal.Synthesis.PcmConverter:ConvertSamples(System.Byte[]):System.Byte[]:this
          48 ( 5.23% of base) : 30416.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFactory:TypeDeclaration(ushort,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxTokenList,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.BaseListSyntax,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterConstraintClauseSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax
          47 ( 1.37% of base) : 219721.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithMac(System.ReadOnlySpan`1[Char],System.Security.Cryptography.HashAlgorithmName,int):this
          46 ( 2.98% of base) : 66952.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupJoinClauseSyntax:Update(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.CollectionRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.JoinClauseSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.JoinConditionSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.AggregationRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupJoinClauseSyntax:this
          41 ( 3.29% of base) : 66865.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupByClauseSyntax:Update(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ExpressionRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ExpressionRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.AggregationRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupByClauseSyntax:this
          41 ( 2.06% of base) : 49634.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ValidateSharedPropertyAndMethodModifiers(Microsoft.CodeAnalysis.SyntaxTokenList,Microsoft.CodeAnalysis.VisualBasic.MemberModifiers,bool,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.MemberModifiers:this
          40 ( 1.18% of base) : 142387.dasm - BigNumber:DblToRgbFast(double,System.Byte[],byref,byref):bool

Top method improvements (bytes):
        -813 (-25.22% of base) : 50920.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,bool):bool:this
        -798 (-24.98% of base) : 41155.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.CSharp.Symbol,bool,bool):bool:this
        -756 (-9.84% of base) : 42777.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DecodeWellKnownAttribute(byref,int,bool):this
        -694 (-11.67% of base) : 63815.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.SyntaxNormalizer:RewriteTrivia(Microsoft.CodeAnalysis.SyntaxTriviaList,int,bool,bool,bool,int,int):Microsoft.CodeAnalysis.SyntaxTriviaList:this
        -627 (-10.76% of base) : 31639.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.SyntaxNormalizer:RewriteTrivia(Microsoft.CodeAnalysis.SyntaxTriviaList,int,bool,bool,bool,int):Microsoft.CodeAnalysis.SyntaxTriviaList:this
        -571 (-7.35% of base) : 52504.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint],Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint]
        -542 (-10.87% of base) : 53824.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:DecodeWellKnownAttribute(byref):this
        -536 (-21.62% of base) : 24374.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorAnalysisResult],byref):bool:this
        -513 (-18.95% of base) : 43484.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:DecodeWellKnownAttribute(byref):this
        -511 (-28.63% of base) : 53272.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):bool:this
        -508 (-28.32% of base) : 42795.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData):bool:this
        -504 (-8.08% of base) : 42689.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:OrderGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.ArrayBuilder`1[FieldInfo])
        -437 (-10.22% of base) : 42694.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
        -426 (-5.47% of base) : 53672.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMethodSymbol:DecodeWellKnownAttributeAppliedToMethod(byref):this
        -425 (-8.14% of base) : 53506.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol:CheckInterfaceUnificationAndVariance(Microsoft.CodeAnalysis.DiagnosticBag):this
        -424 (-17.01% of base) : 42914.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceComplexParameterSymbol:DecodeWellKnownAttribute(byref):this
        -422 (-8.96% of base) : 78281.dasm - Microsoft.CodeAnalysis.RuleSet:GetEffectiveRuleSet(System.Collections.Generic.HashSet`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]):Microsoft.CodeAnalysis.RuleSet:this
        -370 (-13.61% of base) : 141627.dasm - System.Xml.Schema.XmlDateTimeConverter:ToDateTime(System.String):System.DateTime:this
        -370 (-13.21% of base) : 141630.dasm - System.Xml.Schema.XmlDateTimeConverter:ToDateTimeOffset(System.String):System.DateTimeOffset:this
        -321 (-8.60% of base) : 171310.dasm - System.Collections.Immutable.ImmutableHashSet`1[Byte][System.Byte]:SymmetricExcept(System.Collections.Generic.IEnumerable`1[Byte],MutationInput[Byte]):MutationResult[Byte]

Top method regressions (percentages):
           2 (14.29% of base) : 1184.dasm - Microsoft.FSharp.Collections.KeyValuePairDebugFriendly`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]):this
           2 (14.29% of base) : 170727.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:set_Current(System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]):this
           2 (11.76% of base) : 1183.dasm - Microsoft.FSharp.Collections.KeyValuePairDebugFriendly`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_KeyValue():System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]:this
           2 (11.76% of base) : 196013.dasm - System.Linq.Parallel.HashLookupValueList`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_Head():System.Linq.Parallel.Pair`2[Byte,Nullable`1]:this
           2 (11.76% of base) : 80417.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalysisScope:get_FilterSpanOpt():System.Nullable`1[TextSpan]:this
           2 (11.76% of base) : 81133.dasm - Microsoft.CodeAnalysis.CodeGen.LocalDefinition:get_SlotInfo():Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo:this
           2 (11.76% of base) : 167134.dasm - <GetAsyncStepInfos>d__21:System.Collections.Generic.IEnumerator<Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo>.get_Current():Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo:this
           2 (11.76% of base) : 170726.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_Current():System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]:this
           2 (11.76% of base) : 20579.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_Current():System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]:this
          20 (11.24% of base) : 115466.dasm - System.Data.SqlTypes.SqlDecimal:CompareTo(System.Data.SqlTypes.SqlDecimal):int:this
           6 (11.11% of base) : 676.dasm - Microsoft.FSharp.Core.FSharpResult`2[Int64,Nullable`1][System.Int64,System.Nullable`1[System.Int32]]:NewOk(long):Microsoft.FSharp.Core.FSharpResult`2[Int64,Nullable`1]
           6 (10.91% of base) : 670.dasm - Microsoft.FSharp.Core.FSharpResult`2[Double,Nullable`1][System.Double,System.Nullable`1[System.Int32]]:NewOk(double):Microsoft.FSharp.Core.FSharpResult`2[Double,Nullable`1]
           4 (10.00% of base) : 115500.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlSingle():System.Data.SqlTypes.SqlSingle:this
           4 (10.00% of base) : 115493.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlBoolean():System.Data.SqlTypes.SqlBoolean:this
           4 (10.00% of base) : 115497.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlInt32():System.Data.SqlTypes.SqlInt32:this
           2 ( 9.52% of base) : 162566.dasm - Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions:set_AbsoluteExpiration(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 162598.dasm - Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions:set_AbsoluteExpiration(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 190103.dasm - System.DirectoryServices.Interop.AdsValueHelper:.ctor(System.DirectoryServices.Interop.AdsValue):this
           8 ( 9.41% of base) : 115494.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlByte():System.Data.SqlTypes.SqlByte:this
           8 ( 9.41% of base) : 115496.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlInt16():System.Data.SqlTypes.SqlInt16:this

Top method improvements (percentages):
         -33 (-45.21% of base) : 84785.dasm - Microsoft.Diagnostics.Tracing.EventPipeEventSource:ResetCompressedHeader():this
         -85 (-38.29% of base) : 116019.dasm - System.Data.SqlTypes.SqlString:NotEquals(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
        -155 (-38.18% of base) : 186551.dasm - System.Diagnostics.PerformanceCounter:NextValue():float:this
         -22 (-36.07% of base) : 186532.dasm - System.Diagnostics.InstanceData:get_RawValue():long:this
         -49 (-35.25% of base) : 116020.dasm - System.Data.SqlTypes.SqlString:LessThan(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 116018.dasm - System.Data.SqlTypes.SqlString:Equals(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 116021.dasm - System.Data.SqlTypes.SqlString:GreaterThan(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 116022.dasm - System.Data.SqlTypes.SqlString:LessThanOrEqual(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 116023.dasm - System.Data.SqlTypes.SqlString:GreaterThanOrEqual(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-32.67% of base) : 116012.dasm - System.Data.SqlTypes.SqlString:op_Inequality(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -20 (-32.26% of base) : 186533.dasm - System.Diagnostics.InstanceData:.ctor(System.String,System.Diagnostics.CounterSample):this
        -511 (-28.63% of base) : 53272.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):bool:this
        -508 (-28.32% of base) : 42795.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData):bool:this
         -48 (-27.91% of base) : 150321.dasm - System.Reflection.Metadata.ImportDefinitionCollection:GetEnumerator():Enumerator:this
         -10 (-27.78% of base) : 220187.dasm - CMSG_KEY_AGREE_RECIPIENT_INFO:get_OriginatorPublicKeyInfo():CERT_PUBLIC_KEY_INFO:this
         -48 (-25.67% of base) : 150322.dasm - System.Reflection.Metadata.ImportDefinitionCollection:System.Collections.Generic.IEnumerable<System.Reflection.Metadata.ImportDefinition>.GetEnumerator():System.Collections.Generic.IEnumerator`1[ImportDefinition]:this
         -45 (-25.57% of base) : 51866.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.Metadata.PE.PEModuleSymbol:GetCustomAttributesForToken(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
         -45 (-25.57% of base) : 44975.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEModuleSymbol:GetCustomAttributesForToken(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        -813 (-25.22% of base) : 50920.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,bool):bool:this
        -798 (-24.98% of base) : 41155.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.CSharp.Symbol,bool,bool):bool:this

8139 total methods with Code Size differences (3035 improved, 5104 regressed), 170 unchanged.


Please let me know if there are any other changes I can make. Thanks!

@alexcovington
Copy link
Contributor Author

Not sure why x86 is failing, currently investigating.

@alexcovington
Copy link
Contributor Author

Resolved x86 failures. Here is the updated ASM diff:

ASM Diffs

benchmarks.run.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 881705
Total bytes of diff: 865248
Total bytes of delta: -16457 (-1.87% of base)
Total relative delta: -31.07
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         294 : 8386.dasm (1.26% of base)
          34 : 858.dasm (4.82% of base)
          32 : 9322.dasm (4.66% of base)
          30 : 8707.dasm (1.34% of base)
          24 : 20479.dasm (2.15% of base)
          22 : 20694.dasm (0.96% of base)
          22 : 5278.dasm (2.57% of base)
          18 : 9749.dasm (1.52% of base)
          18 : 8773.dasm (1.60% of base)
          17 : 18738.dasm (2.05% of base)
          16 : 749.dasm (2.05% of base)
          16 : 20692.dasm (1.33% of base)
          16 : 10905.dasm (0.49% of base)
          16 : 21223.dasm (1.33% of base)
          14 : 291.dasm (2.13% of base)
          13 : 9223.dasm (0.62% of base)
          12 : 3091.dasm (0.25% of base)
          12 : 19932.dasm (0.77% of base)
          12 : 585.dasm (1.56% of base)
          12 : 8783.dasm (0.85% of base)

Top file improvements (bytes):
       -1328 : 16603.dasm (-8.81% of base)
        -510 : 16826.dasm (-12.08% of base)
        -358 : 9501.dasm (-9.18% of base)
        -324 : 17194.dasm (-8.24% of base)
        -320 : 12685.dasm (-32.36% of base)
        -311 : 9521.dasm (-14.15% of base)
        -276 : 12069.dasm (-17.83% of base)
        -171 : 13653.dasm (-15.46% of base)
        -169 : 17385.dasm (-7.66% of base)
        -166 : 18344.dasm (-8.11% of base)
        -144 : 16478.dasm (-6.88% of base)
        -135 : 11678.dasm (-39.71% of base)
        -135 : 26564.dasm (-39.71% of base)
        -135 : 24968.dasm (-39.71% of base)
        -134 : 18015.dasm (-13.36% of base)
        -132 : 26060.dasm (-10.45% of base)
        -132 : 25593.dasm (-10.71% of base)
        -130 : 20748.dasm (-0.83% of base)
        -126 : 18067.dasm (-6.90% of base)
        -120 : 17933.dasm (-5.23% of base)

900 total files with Code Size differences (581 improved, 319 regressed), 13 unchanged.

Top method regressions (bytes):
         294 ( 1.26% of base) : 8386.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor()
          34 ( 4.82% of base) : 858.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[__Canon][System.__Canon]:.ctor(int):this
          32 ( 4.66% of base) : 9322.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[Int32][System.Int32]:.ctor(int):this
          30 ( 1.34% of base) : 8707.dasm - Sigil.Emit`1[__Canon][System.__Canon]:LoadConstant(int):Sigil.Emit`1[__Canon]:this
          24 ( 2.15% of base) : 20479.dasm - StateMachineBox`1[VoidTaskResult,<WriteAsyncSlowPath>d__50][System.Threading.Tasks.VoidTaskResult,System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__50]:System.Threading.Tasks.Sources.IValueTaskSource.GetResult(short):this
          22 ( 0.96% of base) : 20694.dasm - <DetermineVersionAndSendAsync>d__85:MoveNext():this
          22 ( 2.57% of base) : 5278.dasm - System.Net.Security.SslSessionsCache:<CacheCredential>g__ShrinkCredentialCache|5_0()
          18 ( 1.52% of base) : 9749.dasm - StateMachineBox`1[Int32,<ReadAsyncSlowPath>d__39][System.Int32,System.IO.Strategies.BufferedFileStreamStrategy+<ReadAsyncSlowPath>d__39]:System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(short):int:this
          18 ( 1.60% of base) : 8773.dasm - Sigil.Emit`1[__Canon][System.__Canon]:LoadArgument(ushort):Sigil.Emit`1[__Canon]:this
          17 ( 2.05% of base) : 18738.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:SerializeModuleTable(System.Reflection.Metadata.BlobBuilder,System.Collections.Immutable.ImmutableArray`1[Int32],System.Reflection.Metadata.Ecma335.MetadataSizes):this
          16 ( 2.05% of base) : 749.dasm - System.Random:AssertInRange(long,long,long)
          16 ( 1.33% of base) : 20692.dasm - <SendAndProcessAltSvcAsync>d__86:MoveNext():this
          16 ( 0.49% of base) : 10905.dasm - <AsyncModeCopyToAsync>d__23:MoveNext():this
          16 ( 1.33% of base) : 21223.dasm - DynamicClass:WriteMyEventsListerItemTaskToXml(System.Runtime.Serialization.XmlWriterDelegator,System.Object,System.Runtime.Serialization.XmlObjectSerializerWriteContext,System.Runtime.Serialization.ClassDataContract)
          14 ( 2.13% of base) : 291.dasm - MemberInfoCache`1[__Canon][System.__Canon]:GetListByName(long,int,long,int,int,int):System.__Canon[]:this
          13 ( 0.62% of base) : 9223.dasm - Microsoft.Extensions.Caching.Memory.MemoryCache:SetEntry(Microsoft.Extensions.Caching.Memory.CacheEntry):this
          12 ( 0.25% of base) : 3091.dasm - Newtonsoft.Json.JsonWriter:WriteValue(Newtonsoft.Json.JsonWriter,int,System.Object)
          12 ( 0.77% of base) : 19932.dasm - <Setup_SyncReadAsyncWithCancellationToken>d__8:MoveNext():this
          12 ( 1.56% of base) : 585.dasm - MemberInfoCache`1[__Canon][System.__Canon]:PopulateFields(Filter):System.Reflection.RuntimeFieldInfo[]:this
          12 ( 0.85% of base) : 8783.dasm - Sigil.Emit`1[__Canon][System.__Canon]:Return():Sigil.Emit`1[__Canon]:this

Top method improvements (bytes):
       -1328 (-8.81% of base) : 16603.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
        -510 (-12.08% of base) : 16826.dasm - Microsoft.CodeAnalysis.CSharp.Imports:Validate():this
        -358 (-9.18% of base) : 9501.dasm - System.Diagnostics.Perf_Activity:.cctor()
        -324 (-8.24% of base) : 17194.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:CheckInterfaces(Microsoft.CodeAnalysis.DiagnosticBag):this
        -320 (-32.36% of base) : 12685.dasm - System.Memory.MemoryMarshal`1[Byte][System.Byte]:Read():this
        -311 (-14.15% of base) : 9521.dasm - System.Diagnostics.ActivitySource:CreateActivity(System.String,int,System.Diagnostics.ActivityContext,System.String,System.Collections.Generic.IEnumerable`1[[System.Collections.Generic.KeyValuePair`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.Object, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],System.Collections.Generic.IEnumerable`1[ActivityLink],System.DateTimeOffset,bool,int):System.Diagnostics.Activity:this
        -276 (-17.83% of base) : 12069.dasm - System.Collections.Tests.Perf_PriorityQueue`2[Guid,Guid][System.Guid,System.Guid]:Dequeue_And_Enqueue():this
        -171 (-15.46% of base) : 13653.dasm - System.Collections.Tests.Perf_PriorityQueue`2[Guid,Guid][System.Guid,System.Guid]:K_Max_Elements():this
        -169 (-7.66% of base) : 17385.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceMemberContainerTypeSymbol:CheckAbstractClassImplementations(Microsoft.CodeAnalysis.DiagnosticBag):this
        -166 (-8.11% of base) : 18344.dasm - Microsoft.Cci.MetadataWriter:SerializeTypeReference(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,Microsoft.Cci.ITypeReference):this
        -144 (-6.88% of base) : 16478.dasm - Microsoft.CodeAnalysis.CSharp.DeclarationTreeBuilder:AddNonTypeMemberNames(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode,System.Collections.Immutable.ImmutableHashSet`1+Builder[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],byref)
        -135 (-39.71% of base) : 11678.dasm - System.Numerics.Tests.Perf_Matrix4x4:SubtractBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 26564.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByMatrixBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 24968.dasm - System.Numerics.Tests.Perf_Matrix4x4:AddBenchmark():System.Numerics.Matrix4x4:this
        -134 (-13.36% of base) : 18015.dasm - Microsoft.CodeAnalysis.CodeGen.ReferenceDependencyWalker:VisitMethodReference(Microsoft.Cci.IMethodReference,Microsoft.CodeAnalysis.Emit.EmitContext)
        -132 (-10.45% of base) : 26060.dasm - System.Collections.IterateForEach`1[Int32][System.Int32]:ImmutableHashSet():int:this
        -132 (-10.71% of base) : 25593.dasm - System.Collections.IterateForEach`1[Int32][System.Int32]:ImmutableDictionary():int:this
        -130 (-0.83% of base) : 20748.dasm - <SendAsyncCore>d__60:MoveNext():this
        -126 (-6.90% of base) : 18067.dasm - Microsoft.CodeAnalysis.CSharp.SourceDocumentationCommentUtils:GetDocumentationCommentTriviaFromSyntaxNode(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CSharp.Syntax.DocumentationCommentTriviaSyntax, Microsoft.CodeAnalysis.CSharp, Version=2.10.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]
        -120 (-5.23% of base) : 17933.dasm - Microsoft.CodeAnalysis.CSharp.ImportChain:TranslateImports(Microsoft.CodeAnalysis.CSharp.Emit.PEModuleBuilder,Microsoft.CodeAnalysis.DiagnosticBag):System.Collections.Immutable.ImmutableArray`1[UsedNamespaceOrType]:this

Top method regressions (percentages):
           2 (11.76% of base) : 10712.dasm - Benchmarks.SIMD.RayTracer.Plane:Normal(Benchmarks.SIMD.RayTracer.Vector):Benchmarks.SIMD.RayTracer.Vector:this
           2 ( 9.52% of base) : 13968.dasm - Microsoft.Extensions.Caching.Memory.CacheEntry:set_AbsoluteExpiration(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 15040.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:set_EndDate(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 15041.dasm - MicroBenchmarks.Serializers.MyEventsListerItemTask:set_StartDate(System.Nullable`1[DateTimeOffset]):this
          34 ( 4.82% of base) : 858.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[__Canon][System.__Canon]:.ctor(int):this
          12 ( 4.74% of base) : 18583.dasm - System.Reflection.Metadata.Ecma335.MetadataBuilder:AddMethodDefinition(int,int,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,int,System.Reflection.Metadata.ParameterHandle):System.Reflection.Metadata.MethodDefinitionHandle:this
           8 ( 4.71% of base) : 15321.dasm - System.Numerics.Tests.Perf_Matrix3x2:MultiplyByMatrixBenchmark():System.Numerics.Matrix3x2:this
          32 ( 4.66% of base) : 9322.dasm - System.Collections.Concurrent.ConcurrentQueueSegment`1[Int32][System.Int32]:.ctor(int):this
           4 ( 4.60% of base) : 18774.dasm - <>c__DisplayClass14_0:<GetTimeBasedProvider>b__0(System.Collections.Generic.IEnumerable`1[Blob]):System.Reflection.Metadata.BlobContentId:this
           2 ( 4.00% of base) : 4360.dasm - <>c[__Canon,__Canon][System.__Canon,System.__Canon]:<.cctor>b__107_0(System.Collections.Generic.KeyValuePair`2[Int32,HashBucket]):this
           4 ( 3.81% of base) : 5507.dasm - System.Net.Security.SslStreamPal:QueryContextStreamSizes(System.Net.Security.SafeDeleteContext,byref)
           4 ( 3.70% of base) : 23478.dasm - System.Numerics.Tests.Perf_Matrix3x2:MultiplyByMatrixOperatorBenchmark():System.Numerics.Matrix3x2:this
           4 ( 3.51% of base) : 10134.dasm - System.Collections.Immutable.SortedInt32KeyNode`1[HashBucket][System.Collections.Immutable.ImmutableDictionary`2+HashBucket[System.__Canon,System.__Canon]]:get_Value():System.Collections.Generic.KeyValuePair`2[Int32,HashBucket]:this
           6 ( 3.35% of base) : 19108.dasm - System.Numerics.Tests.Perf_Matrix3x2:MultiplyByScalarBenchmark():System.Numerics.Matrix3x2:this
           2 ( 3.28% of base) : 23405.dasm - System.Drawing.Tests.Perf_Color:FromArgb_AlphaColor():System.Drawing.Color:this
           2 ( 3.17% of base) : 8337.dasm - System.Threading.Tasks.ValueTask`1[__Canon][System.__Canon]:GetAwaiter():System.Runtime.CompilerServices.ValueTaskAwaiter`1[__Canon]:this
           2 ( 2.99% of base) : 23112.dasm - System.Memory.ReadOnlySequence:Slice_Start():System.Buffers.ReadOnlySequence`1[Byte]:this
           5 ( 2.92% of base) : 20903.dasm - System.Reflection.Internal.EnumerableExtensions:FirstOrDefault(System.Collections.Immutable.ImmutableArray`1[DebugDirectoryEntry],System.Func`2[DebugDirectoryEntry,Boolean]):System.Reflection.PortableExecutable.DebugDirectoryEntry
           2 ( 2.90% of base) : 26161.dasm - System.Numerics.Tests.Perf_Matrix3x2:CreateScaleFromScalarBenchmark():System.Numerics.Matrix3x2:this
           2 ( 2.86% of base) : 5688.dasm - System.Numerics.Matrix3x2:get_Identity():System.Numerics.Matrix3x2

Top method improvements (percentages):
        -135 (-39.71% of base) : 11678.dasm - System.Numerics.Tests.Perf_Matrix4x4:SubtractBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 26564.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByMatrixBenchmark():System.Numerics.Matrix4x4:this
        -135 (-39.71% of base) : 24968.dasm - System.Numerics.Tests.Perf_Matrix4x4:AddBenchmark():System.Numerics.Matrix4x4:this
         -81 (-35.06% of base) : 26168.dasm - System.Numerics.Tests.Perf_Matrix4x4:LerpBenchmark():System.Numerics.Matrix4x4:this
         -60 (-34.88% of base) : 11005.dasm - System.Numerics.Tests.Perf_Matrix4x4:NegateBenchmark():System.Numerics.Matrix4x4:this
         -63 (-33.87% of base) : 5700.dasm - System.Numerics.Tests.Perf_Matrix4x4:InequalityOperatorBenchmark():bool:this
         -63 (-33.87% of base) : 23780.dasm - System.Numerics.Tests.Perf_Matrix4x4:EqualityOperatorBenchmark():bool:this
         -60 (-33.33% of base) : 9936.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByScalarBenchmark():System.Numerics.Matrix4x4:this
        -320 (-32.36% of base) : 12685.dasm - System.Memory.MemoryMarshal`1[Byte][System.Byte]:Read():this
         -99 (-32.25% of base) : 24971.dasm - System.Numerics.Tests.Perf_Matrix4x4:EqualsBenchmark():bool:this
         -63 (-32.14% of base) : 23480.dasm - System.Numerics.Tests.Perf_Matrix4x4:AddOperatorBenchmark():System.Numerics.Matrix4x4:this
         -63 (-32.14% of base) : 8256.dasm - System.Numerics.Tests.Perf_Matrix4x4:MultiplyByMatrixOperatorBenchmark():System.Numerics.Matrix4x4:this
         -63 (-32.14% of base) : 24188.dasm - System.Numerics.Tests.Perf_Matrix4x4:SubtractOperatorBenchmark():System.Numerics.Matrix4x4:this
         -60 (-27.40% of base) : 25716.dasm - System.Numerics.Tests.Perf_Matrix4x4:InvertBenchmark():bool:this
          -7 (-26.92% of base) : 922.dasm - Enumerator[Measurement][BenchmarkDotNet.Reports.Measurement]:get_Current():BenchmarkDotNet.Reports.Measurement:this
          -7 (-26.92% of base) : 923.dasm - <GetMeasurements>d__14:System.Collections.Generic.IEnumerator<BenchmarkDotNet.Reports.Measurement>.get_Current():BenchmarkDotNet.Reports.Measurement:this
          -7 (-26.92% of base) : 9483.dasm - <ZipIterator>d__279`2[Guid,Guid][System.Guid,System.Guid]:System.Collections.Generic.IEnumerator<(TFirstFirst,TSecondSecond)>.get_Current():System.ValueTuple`2[Guid,Guid]:this
         -27 (-26.21% of base) : 12737.dasm - System.Numerics.Tests.Perf_Quaternion:CreateFromRotationMatrixBenchmark():System.Numerics.Quaternion:this
         -27 (-26.21% of base) : 12733.dasm - System.Numerics.Tests.Perf_Matrix4x4:Transpose():System.Numerics.Matrix4x4:this
         -27 (-26.21% of base) : 24618.dasm - System.Numerics.Tests.Perf_Matrix4x4:NegationOperatorBenchmark():System.Numerics.Matrix4x4:this

900 total methods with Code Size differences (581 improved, 319 regressed), 13 unchanged.


coreclr_tests.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 5940988
Total bytes of diff: 5841607
Total bytes of delta: -99381 (-1.67% of base)
Total relative delta: -190.03
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         173 : 219941.dasm (0.95% of base)
         123 : 225713.dasm (3.26% of base)
         123 : 225721.dasm (3.30% of base)
          78 : 218945.dasm (0.70% of base)
          78 : 218973.dasm (0.69% of base)
          78 : 218744.dasm (0.75% of base)
          78 : 218843.dasm (0.73% of base)
          64 : 171552.dasm (2.56% of base)
          60 : 172180.dasm (2.46% of base)
          57 : 227811.dasm (0.84% of base)
          51 : 227405.dasm (0.57% of base)
          51 : 227424.dasm (0.55% of base)
          49 : 167230.dasm (0.34% of base)
          40 : 170635.dasm (2.01% of base)
          34 : 167277.dasm (0.59% of base)
          33 : 171818.dasm (1.43% of base)
          33 : 171685.dasm (1.43% of base)
          33 : 172187.dasm (1.46% of base)
          33 : 172194.dasm (1.46% of base)
          31 : 213445.dasm (4.41% of base)

Top file improvements (bytes):
       -1481 : 195024.dasm (-19.37% of base)
       -1370 : 218485.dasm (-10.47% of base)
       -1370 : 218584.dasm (-10.53% of base)
       -1331 : 218903.dasm (-9.90% of base)
       -1331 : 218931.dasm (-9.95% of base)
       -1173 : 227311.dasm (-13.62% of base)
       -1113 : 172046.dasm (-20.14% of base)
       -1087 : 172206.dasm (-19.91% of base)
       -1063 : 172027.dasm (-19.75% of base)
       -1036 : 172205.dasm (-19.46% of base)
        -904 : 232968.dasm (-9.03% of base)
        -882 : 226253.dasm (-8.50% of base)
        -882 : 226320.dasm (-8.76% of base)
        -834 : 226352.dasm (-8.26% of base)
        -834 : 226419.dasm (-8.11% of base)
        -723 : 218615.dasm (-5.96% of base)
        -723 : 218714.dasm (-5.87% of base)
        -696 : 218231.dasm (-5.73% of base)
        -696 : 218330.dasm (-5.64% of base)
        -687 : 218861.dasm (-5.89% of base)

3695 total files with Code Size differences (3006 improved, 689 regressed), 37 unchanged.

Top method regressions (bytes):
         173 ( 0.95% of base) : 219941.dasm - DefaultNamespace.cb6054ToByte_all:runTest():bool:this
         123 ( 3.26% of base) : 225713.dasm - IntelHardwareIntrinsicTest.Program:.cctor()
         123 ( 3.30% of base) : 225721.dasm - IntelHardwareIntrinsicTest.Program:.cctor()
          78 ( 0.70% of base) : 218945.dasm - TestApp:Main():int
          78 ( 0.69% of base) : 218973.dasm - TestApp:Main():int
          78 ( 0.75% of base) : 218744.dasm - TestApp:Main():int
          78 ( 0.73% of base) : 218843.dasm - TestApp:Main():int
          64 ( 2.56% of base) : 171552.dasm - NullableTest16:Run()
          60 ( 2.46% of base) : 172180.dasm - NullableTest16:Run()
          57 ( 0.84% of base) : 227811.dasm - TestApp:Main():int
          51 ( 0.57% of base) : 227405.dasm - TestApp:Main():int
          51 ( 0.55% of base) : 227424.dasm - TestApp:Main():int
          49 ( 0.34% of base) : 167230.dasm - Internal.IL.ILImporter:ImportBasicBlock(BasicBlock):this
          40 ( 2.01% of base) : 170635.dasm - NullableTest16:Run()
          34 ( 0.59% of base) : 167277.dasm - Internal.IL.ILImporter:ImportCall(int,int):this
          33 ( 1.43% of base) : 171818.dasm - NullableTest30:Run()
          33 ( 1.43% of base) : 171685.dasm - NullableTest23:Run()
          33 ( 1.46% of base) : 172187.dasm - NullableTest23:Run()
          33 ( 1.46% of base) : 172194.dasm - NullableTest30:Run()
          31 ( 4.41% of base) : 213445.dasm - StructABI:EchoNested9Wrapper():bool

Top method improvements (bytes):
       -1481 (-19.37% of base) : 195024.dasm - testout1:.cctor()
       -1370 (-10.47% of base) : 218485.dasm - TestApp:Main():int
       -1370 (-10.53% of base) : 218584.dasm - TestApp:Main():int
       -1331 (-9.90% of base) : 218903.dasm - TestApp:Main():int
       -1331 (-9.95% of base) : 218931.dasm - TestApp:Main():int
       -1173 (-13.62% of base) : 227311.dasm - TestApp:Main():int
       -1113 (-20.14% of base) : 172046.dasm - NullableTest44:Run()
       -1087 (-19.91% of base) : 172206.dasm - NullableTest44:Run()
       -1063 (-19.75% of base) : 172027.dasm - NullableTest43:Run()
       -1036 (-19.46% of base) : 172205.dasm - NullableTest43:Run()
        -904 (-9.03% of base) : 232968.dasm - TestApp:Main():int
        -882 (-8.50% of base) : 226253.dasm - TestApp:Main():int
        -882 (-8.76% of base) : 226320.dasm - TestApp:Main():int
        -834 (-8.26% of base) : 226352.dasm - TestApp:Main():int
        -834 (-8.11% of base) : 226419.dasm - TestApp:Main():int
        -723 (-5.96% of base) : 218615.dasm - TestApp:Main():int
        -723 (-5.87% of base) : 218714.dasm - TestApp:Main():int
        -696 (-5.73% of base) : 218231.dasm - TestApp:Main():int
        -696 (-5.64% of base) : 218330.dasm - TestApp:Main():int
        -687 (-5.89% of base) : 218861.dasm - TestApp:Main():int

Top method regressions (percentages):
          16 (12.70% of base) : 248998.dasm - GitHub_23739:Test3f(Cls3f)
           2 (11.76% of base) : 219475.dasm - Plane:Normal(Vector):Vector:this
           3 (11.11% of base) : 219477.dasm - Ray:.ctor(Vector,Vector):this
           3 (10.71% of base) : 219473.dasm - Light:.ctor(Vector,Color):this
           4 ( 9.52% of base) : 86410.dasm - Test:Convert(long):StructY
          12 ( 8.82% of base) : 230833.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.82% of base) : 230878.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.82% of base) : 230975.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.82% of base) : 231724.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 229726.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 102358.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 172335.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 174313.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 229559.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 214904.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 230675.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 230710.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 230734.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 101610.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool
          12 ( 8.63% of base) : 102110.dasm - Helper:Compare(System.Nullable`1[ExplicitFieldOffsetStruct],ExplicitFieldOffsetStruct):bool

Top method improvements (percentages):
         -26 (-44.83% of base) : 213897.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_04():HVA128_04[Byte]:this
        -386 (-40.21% of base) : 251410.dasm - Struct_512bytes:.ctor(long):this
         -11 (-39.29% of base) : 86446.dasm - Program:Test(byref)
        -370 (-34.45% of base) : 218468.dasm - AA:reset()
        -366 (-33.30% of base) : 227297.dasm - AA:reset()
        -376 (-33.07% of base) : 226234.dasm - AA:reset()
        -376 (-33.07% of base) : 232991.dasm - AA:reset()
        -134 (-31.75% of base) : 85585.dasm - JitTest.Test:Main():int
         -23 (-31.51% of base) : 213748.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_04():HVA128_04[Byte]:this
        -134 (-31.46% of base) : 85584.dasm - JitTest.Test:Main():int
         -10 (-31.25% of base) : 213895.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_02():HVA128_02[Byte]:this
         -20 (-30.77% of base) : 212877.dasm - <>c__DisplayClass3_0:<ValidateAssemblyIsolation>b__0():this
         -35 (-29.91% of base) : 248917.dasm - UninitializedHighWord.App:PrepareMethods()
         -98 (-29.70% of base) : 248916.dasm - UninitializedHighWord.App:StompStackBelowCallerSP()
         -95 (-29.50% of base) : 85583.dasm - JitTest.Test:Main():int
        -352 (-29.31% of base) : 226333.dasm - AA:reset()
         -95 (-29.23% of base) : 85582.dasm - JitTest.Test:Main():int
         -13 (-28.89% of base) : 213896.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA128_03():HVA128_03[Byte]:this
        -540 (-28.51% of base) : 81486.dasm - Matrix4x4Test:Matrix4x4CreateScaleCenterTest3():int
         -11 (-27.50% of base) : 213910.dasm - HVATests`1[Byte][System.Byte]:returnTest_HVA64_05():HVA64_05[Byte]:this

3695 total methods with Code Size differences (3006 improved, 689 regressed), 37 unchanged.


libraries.crossgen2.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 3730178
Total bytes of diff: 3727702
Total bytes of delta: -2476 (-0.07% of base)
Total relative delta: -9.88
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
          82 : 35057.dasm (0.93% of base)
          61 : 208421.dasm (3.38% of base)
          61 : 196166.dasm (3.41% of base)
          58 : 196128.dasm (3.49% of base)
          58 : 171543.dasm (3.49% of base)
          58 : 208366.dasm (3.49% of base)
          54 : 129622.dasm (0.63% of base)
          54 : 171104.dasm (1.77% of base)
          48 : 155513.dasm (1.34% of base)
          34 : 189361.dasm (1.73% of base)
          34 : 189395.dasm (1.55% of base)
          34 : 171465.dasm (1.74% of base)
          34 : 170805.dasm (2.15% of base)
          33 : 189392.dasm (0.80% of base)
          31 : 170798.dasm (2.18% of base)
          31 : 171501.dasm (0.94% of base)
          28 : 208078.dasm (1.86% of base)
          28 : 170958.dasm (2.40% of base)
          24 : 208402.dasm (5.11% of base)
          24 : 208414.dasm (2.46% of base)

Top file improvements (bytes):
        -722 : 128361.dasm (-1.48% of base)
        -160 : 81305.dasm (-7.15% of base)
        -104 : 129904.dasm (-1.95% of base)
         -88 : 143783.dasm (-14.92% of base)
         -62 : 162771.dasm (-0.52% of base)
         -56 : 54027.dasm (-2.61% of base)
         -50 : 189557.dasm (-4.07% of base)
         -50 : 189591.dasm (-4.76% of base)
         -50 : 189592.dasm (-4.91% of base)
         -48 : 136804.dasm (-0.29% of base)
         -47 : 189593.dasm (-3.65% of base)
         -44 : 24400.dasm (-1.09% of base)
         -40 : 200326.dasm (-9.11% of base)
         -37 : 211335.dasm (-2.15% of base)
         -37 : 19396.dasm (-1.67% of base)
         -36 : 19389.dasm (-2.75% of base)
         -36 : 19395.dasm (-1.67% of base)
         -30 : 35726.dasm (-1.99% of base)
         -30 : 196118.dasm (-8.96% of base)
         -30 : 208345.dasm (-8.96% of base)

2673 total files with Code Size differences (1623 improved, 1050 regressed), 4632 unchanged.

Top method regressions (bytes):
          82 ( 0.93% of base) : 35057.dasm - BigNumber:.cctor()
          61 ( 3.38% of base) : 208421.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          61 ( 3.41% of base) : 196166.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          58 ( 3.49% of base) : 196128.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[System.Byte],int,System.String,System.Span`1[System.Byte])
          58 ( 3.49% of base) : 171543.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[System.Byte],int,System.String,System.Span`1[System.Byte])
          58 ( 3.49% of base) : 208366.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[System.Byte],int,System.String,System.Span`1[System.Byte])
          54 ( 0.63% of base) : 129622.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.PredefinedMembers:.cctor()
          54 ( 1.77% of base) : 171104.dasm - System.Security.Cryptography.Pkcs.Pkcs12Builder:SealWithMac(System.ReadOnlySpan`1[System.Char],System.Security.Cryptography.HashAlgorithmName,int):this
          48 ( 1.34% of base) : 155513.dasm - System.Data.Common.SqlDecimalStorage:Aggregate(System.Int32[],int):System.Object:this
          34 ( 1.73% of base) : 189361.dasm - System.Security.Cryptography.Asn1.PssParamsAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          34 ( 1.55% of base) : 189395.dasm - System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          34 ( 1.74% of base) : 171465.dasm - System.Security.Cryptography.Asn1.PssParamsAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          34 ( 2.15% of base) : 170805.dasm - System.Security.Cryptography.Pkcs.Asn1.Rfc3161TstInfo:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          33 ( 0.80% of base) : 189392.dasm - System.Security.Cryptography.X509Certificates.Asn1.TbsCertificateAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
          31 ( 2.18% of base) : 170798.dasm - System.Security.Cryptography.Pkcs.Asn1.SignedDataAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          31 ( 0.94% of base) : 171501.dasm - System.Security.Cryptography.Asn1.GeneralNameAsn:DecodeCore(byref,System.ReadOnlyMemory`1[System.Byte],byref)
          28 ( 1.86% of base) : 208078.dasm - System.Security.Cryptography.Asn1.RSAPrivateKeyAsn:DecodeCore(byref,System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory`1[System.Byte],byref)
          28 ( 2.40% of base) : 170958.dasm - System.Security.Cryptography.Pkcs.Asn1.KeyAgreeRecipientInfoAsn:Encode(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.Asn1Tag):this
          24 ( 5.11% of base) : 208402.dasm - System.Security.Cryptography.KeyFormatHelper:WritePkcs8(System.Formats.Asn1.AsnWriter,System.Formats.Asn1.AsnWriter,System.Formats.Asn1.AsnWriter):System.Formats.Asn1.AsnWriter
          24 ( 2.46% of base) : 208414.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteEcPrivateKey(byref,bool):System.Formats.Asn1.AsnWriter

Top method improvements (bytes):
        -722 (-1.48% of base) : 128361.dasm - Microsoft.Diagnostics.Tracing.CtfTraceEventSource:InitEventMap():System.Collections.Generic.Dictionary`2[System.String, Microsoft.Diagnostics.Tracing.ETWMapping]
        -160 (-7.15% of base) : 81305.dasm - Microsoft.VisualBasic.CompilerServices.ConversionResolution:.cctor()
        -104 (-1.95% of base) : 129904.dasm - Microsoft.CSharp.RuntimeBinder.Semantics.ExpressionBinder:.cctor()
         -88 (-14.92% of base) : 143783.dasm - System.Data.OleDb.OleDbCommand:ApplyParameterBindings(System.Data.Common.UnsafeNativeMethods+ICommandWithParameters,System.Data.OleDb.tagDBPARAMBINDINFO[]):this
         -62 (-0.52% of base) : 162771.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
         -56 (-2.61% of base) : 54027.dasm - System.Reflection.Emit.MethodBuilder:CreateMethodBodyHelper(System.Reflection.Emit.ILGenerator):this
         -50 (-4.07% of base) : 189557.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2Collection:ImportFromPem(System.ReadOnlySpan`1[System.Char]):this
         -50 (-4.76% of base) : 189591.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ExtractKeyFromEncryptedPem(System.ReadOnlySpan`1[System.Char],System.ReadOnlySpan`1[System.Char],System.Func`1[System.__Canon],System.Func`2[System.__Canon, System.Security.Cryptography.X509Certificates.X509Certificate2]):System.Security.Cryptography.X509Certificates.X509Certificate2
         -50 (-4.91% of base) : 189592.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:ExtractKeyFromPem(System.ReadOnlySpan`1[System.Char],System.String[],System.Func`1[System.__Canon],System.Func`2[System.__Canon, System.Security.Cryptography.X509Certificates.X509Certificate2]):System.Security.Cryptography.X509Certificates.X509Certificate2
         -48 (-0.29% of base) : 136804.dasm - Microsoft.CodeAnalysis.AttributeDescription:.cctor()
         -47 (-3.65% of base) : 189593.dasm - System.Security.Cryptography.X509Certificates.X509Certificate2:CreateFromPem(System.ReadOnlySpan`1[System.Char]):System.Security.Cryptography.X509Certificates.X509Certificate2
         -44 (-1.09% of base) : 24400.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterConstraint],Roslyn.Utilities.ConsList`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol],int,Microsoft.CodeAnalysis.ArrayBuilder`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterConstraint]
         -40 (-9.11% of base) : 200326.dasm - System.Net.Security.TlsFrameHelper:.cctor()
         -37 (-2.15% of base) : 211335.dasm - System.Security.Cryptography.PemEncoding:TryFind(System.ReadOnlySpan`1[System.Char],byref):bool
         -37 (-1.67% of base) : 19396.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseLetList():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.ExpressionRangeVariableSyntax]:this
         -36 (-2.75% of base) : 19389.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseJoinControlVar():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CollectionRangeVariableSyntax:this
         -36 (-1.67% of base) : 19395.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.Parser:ParseFromControlVars():Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.SeparatedSyntaxList`1[Microsoft.CodeAnalysis.VisualBasic.Syntax.InternalSyntax.CollectionRangeVariableSyntax]:this
         -30 (-1.99% of base) : 35726.dasm - System.Xml.Schema.XmlUntypedConverter:ToString(System.Object,System.Xml.IXmlNamespaceResolver):System.String:this
         -30 (-8.96% of base) : 196118.dasm - System.Security.Cryptography.RsaPaddingProcessor:.cctor()
         -30 (-8.96% of base) : 208345.dasm - System.Security.Cryptography.RsaPaddingProcessor:.cctor()

Top method regressions (percentages):
           2 (11.76% of base) : 166116.dasm - <GetAsyncStepInfos>d__21:System.Collections.Generic.IEnumerator<Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo>.get_Current():Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo:this
           2 (11.76% of base) : 134371.dasm - Microsoft.CodeAnalysis.CodeGen.LocalDefinition:get_SlotInfo():Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo:this
           2 (11.76% of base) : 134958.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalysisScope:get_FilterSpanOpt():System.Nullable`1[Microsoft.CodeAnalysis.Text.TextSpan]:this
           2 (11.76% of base) : 70534.dasm - Enumerator:get_Current():System.Collections.Generic.KeyValuePair`2[System.Diagnostics.Tracing.EventProvider+SessionInfo, System.Boolean]:this
           2 (11.76% of base) : 164235.dasm - <OrderBy>d__3`1:System.Collections.Generic.IEnumerator<T>.get_Current():System.Reflection.Metadata.Ecma335.MetadataBuilder+CustomDebugInformationRow:this
           1 ( 8.33% of base) : 186933.dasm - CacheEntryState:.ctor(int):this
           2 ( 8.33% of base) : 133065.dasm - ChangeRangeWithText:.ctor(Microsoft.CodeAnalysis.Text.TextChangeRange,System.String):this
           2 ( 8.33% of base) : 135434.dasm - Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo:.ctor(Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo,Microsoft.Cci.ITypeReference):this
          11 ( 6.63% of base) : 157615.dasm - System.Data.SqlTypes.SqlDateTime:CompareTo(System.Data.SqlTypes.SqlDateTime):int:this
          11 ( 6.63% of base) : 157504.dasm - System.Data.SqlTypes.SqlDecimal:CompareTo(System.Data.SqlTypes.SqlDecimal):int:this
           2 ( 5.88% of base) : 166115.dasm - <GetAsyncStepInfos>d__21:System.Collections.IEnumerator.get_Current():System.Object:this
           2 ( 5.88% of base) : 162380.dasm - Enumerator:System.Collections.IEnumerator.get_Current():System.Object:this
           2 ( 5.88% of base) : 164234.dasm - <OrderBy>d__3`1:System.Collections.IEnumerator.get_Current():System.Object:this
           1 ( 5.56% of base) : 133681.dasm - <>c:<GetLocalSlotDebugInfos>b__425_1(Microsoft.CodeAnalysis.Emit.EncHoistedLocalInfo):Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo:this
           2 ( 5.56% of base) : 157518.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlSingle():System.Data.SqlTypes.SqlSingle:this
           2 ( 5.56% of base) : 157521.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlInt32():System.Data.SqlTypes.SqlInt32:this
           2 ( 5.56% of base) : 157525.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlBoolean():System.Data.SqlTypes.SqlBoolean:this
           2 ( 5.26% of base) : 46551.dasm - System.Speech.Synthesis.TtsEngine.ContourPoint:Equals(System.Speech.Synthesis.TtsEngine.ContourPoint):bool:this
           1 ( 5.26% of base) : 24268.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey:.ctor(ubyte,int,int):this
           4 ( 5.13% of base) : 24258.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey:First(Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey,Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey):Microsoft.CodeAnalysis.VisualBasic.Symbols.LexicalSortKey

Top method improvements (percentages):
         -14 (-15.73% of base) : 45794.dasm - System.Speech.Recognition.SrgsGrammar.SrgsRule:.cctor()
         -88 (-14.92% of base) : 143783.dasm - System.Data.OleDb.OleDbCommand:ApplyParameterBindings(System.Data.Common.UnsafeNativeMethods+ICommandWithParameters,System.Data.OleDb.tagDBPARAMBINDINFO[]):this
         -14 (-14.89% of base) : 41766.dasm - System.Xml.XmlConvert:ToString(System.TimeSpan):System.String
         -14 (-14.89% of base) : 35837.dasm - System.Xml.Schema.XmlBaseConverter:DurationToString(System.TimeSpan):System.String
         -20 (-14.39% of base) : 138961.dasm - Microsoft.Cci.InstructionOperandTypes:.cctor()
         -14 (-14.00% of base) : 35821.dasm - System.Xml.Schema.XmlBaseConverter:YearMonthDurationToString(System.TimeSpan):System.String
         -14 (-14.00% of base) : 35838.dasm - System.Xml.Schema.XmlBaseConverter:DayTimeDurationToString(System.TimeSpan):System.String
         -14 (-12.96% of base) : 35665.dasm - System.Xml.Schema.XmlUntypedStringConverter:StringToDuration(System.String):System.TimeSpan:this
         -14 (-12.61% of base) : 35858.dasm - System.Xml.Schema.XmlBaseConverter:StringToDuration(System.String):System.TimeSpan
          -5 (-12.50% of base) : 190123.dasm - Enumerator:.ctor(System.ReadOnlySpan`1[System.Char]):this
          -6 (-12.00% of base) : 140307.dasm - ILCompiler.DependencyAnalysis.ReadyToRun.ArgDestination:.ctor(ILCompiler.DependencyAnalysis.ReadyToRun.TransitionBlock,int,System.Nullable`1[ILCompiler.DependencyAnalysis.ReadyToRun.ArgLocDesc]):this
          -6 (-12.00% of base) : 190120.dasm - PemFieldItem:.ctor(System.ReadOnlySpan`1[System.Char],System.Security.Cryptography.PemFields):this
         -14 (-11.97% of base) : 35842.dasm - System.Xml.Schema.XmlBaseConverter:StringToYearMonthDuration(System.String):System.TimeSpan
         -14 (-11.97% of base) : 35859.dasm - System.Xml.Schema.XmlBaseConverter:StringToDayTimeDuration(System.String):System.TimeSpan
          -6 (-11.76% of base) : 190119.dasm - PemFieldItem:Deconstruct(byref,byref):this
         -14 (-11.57% of base) : 182017.dasm - System.IO.Packaging.ContentType:.cctor()
         -15 (-11.54% of base) : 190122.dasm - Enumerator:get_Current():Internal.Cryptography.PemEnumerator+Enumerator+PemFieldItem:this
          -8 (-10.81% of base) : 162646.dasm - System.Reflection.Metadata.MetadataReader:.cctor()
          -2 (-9.52% of base) : 162323.dasm - Enumerator:Reset():this
         -40 (-9.11% of base) : 200326.dasm - System.Net.Security.TlsFrameHelper:.cctor()

2673 total methods with Code Size differences (1623 improved, 1050 regressed), 4632 unchanged.


libraries.pmi.windows.x64.checked.mch:


Summary of Code Size diffs:
(Lower is better)

Total bytes of base: 6235019
Total bytes of diff: 6152866
Total bytes of delta: -82153 (-1.32% of base)
Total relative delta: -88.18
    diff is an improvement.
    relative diff is an improvement.
Detail diffs


Top file regressions (bytes):
         459 : 84711.dasm (0.87% of base)
         428 : 141477.dasm (4.03% of base)
         294 : 222969.dasm (1.26% of base)
         156 : 190709.dasm (3.10% of base)
         114 : 115487.dasm (3.21% of base)
          78 : 49933.dasm (0.46% of base)
          64 : 78897.dasm (2.27% of base)
          58 : 217384.dasm (3.45% of base)
          58 : 216361.dasm (3.45% of base)
          58 : 218461.dasm (3.45% of base)
          52 : 216288.dasm (2.99% of base)
          52 : 217346.dasm (2.99% of base)
          49 : 151978.dasm (5.94% of base)
          48 : 30416.dasm (5.23% of base)
          46 : 66952.dasm (2.98% of base)
          41 : 49634.dasm (2.06% of base)
          41 : 66865.dasm (3.29% of base)
          40 : 141473.dasm (1.01% of base)
          39 : 67925.dasm (2.13% of base)
          39 : 33066.dasm (2.48% of base)

Top file improvements (bytes):
       -1328 : 149121.dasm (-8.81% of base)
        -813 : 50920.dasm (-25.22% of base)
        -798 : 41155.dasm (-24.98% of base)
        -767 : 23451.dasm (-10.90% of base)
        -756 : 42777.dasm (-10.92% of base)
        -705 : 53258.dasm (-12.56% of base)
        -694 : 63815.dasm (-11.67% of base)
        -627 : 31639.dasm (-10.76% of base)
        -571 : 52504.dasm (-7.35% of base)
        -542 : 53824.dasm (-10.87% of base)
        -536 : 24374.dasm (-21.62% of base)
        -513 : 43484.dasm (-18.95% of base)
        -511 : 53272.dasm (-28.63% of base)
        -508 : 42795.dasm (-28.32% of base)
        -484 : 42914.dasm (-17.30% of base)
        -466 : 23379.dasm (-10.36% of base)
        -445 : 74719.dasm (-12.56% of base)
        -437 : 46240.dasm (-12.26% of base)
        -437 : 42694.dasm (-10.22% of base)
        -426 : 24366.dasm (-8.32% of base)

8653 total files with Code Size differences (3334 improved, 5319 regressed), 179 unchanged.

Top method regressions (bytes):
         459 ( 0.87% of base) : 84711.dasm - Microsoft.Diagnostics.Tracing.CtfTraceEventSource:InitEventMap():System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[Microsoft.Diagnostics.Tracing.ETWMapping, Microsoft.Diagnostics.Tracing.TraceEvent, Version=2.0.65.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]]
         428 ( 4.03% of base) : 141477.dasm - BigNumber:.cctor()
         294 ( 1.26% of base) : 222969.dasm - System.Text.RegularExpressions.RegexCharClass:.cctor()
         156 ( 3.10% of base) : 190709.dasm - System.Drawing.ColorTranslator:InitializeHtmlSysColorTable()
         114 ( 3.21% of base) : 115487.dasm - System.Data.Common.SqlDecimalStorage:Aggregate(System.Int32[],int):System.Object:this
          78 ( 0.46% of base) : 49933.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ReportOverloadResolutionFailureForASingleCandidate(Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.Location,int,byref,System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.BoundExpression, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],System.Collections.Immutable.ImmutableArray`1[[System.String, System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]],bool,bool,bool,bool,Microsoft.CodeAnalysis.DiagnosticBag,Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode,Microsoft.CodeAnalysis.VisualBasic.Symbol):this
          64 ( 2.27% of base) : 78897.dasm - Microsoft.CodeAnalysis.SyntaxDiffer:GetNextAction():DiffAction:this
          58 ( 3.45% of base) : 217384.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[Byte],int,System.String,System.Span`1[Byte])
          58 ( 3.45% of base) : 216361.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[Byte],int,System.String,System.Span`1[Byte])
          58 ( 3.45% of base) : 218461.dasm - System.Security.Cryptography.PasswordBasedEncryption:WritePbeAlgorithmIdentifier(System.Formats.Asn1.AsnWriter,bool,System.String,System.Span`1[Byte],int,System.String,System.Span`1[Byte])
          52 ( 2.99% of base) : 216288.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          52 ( 2.99% of base) : 217346.dasm - System.Security.Cryptography.EccKeyFormatHelper:WriteSpecifiedECDomain(System.Security.Cryptography.ECParameters,System.Formats.Asn1.AsnWriter)
          49 ( 5.94% of base) : 151978.dasm - System.Speech.Internal.Synthesis.PcmConverter:ConvertSamples(System.Byte[]):System.Byte[]:this
          48 ( 5.23% of base) : 30416.dasm - Microsoft.CodeAnalysis.CSharp.SyntaxFactory:TypeDeclaration(ushort,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.AttributeListSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxTokenList,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterListSyntax,Microsoft.CodeAnalysis.CSharp.Syntax.BaseListSyntax,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.TypeParameterConstraintClauseSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.MemberDeclarationSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.CSharp.Syntax.TypeDeclarationSyntax
          46 ( 2.98% of base) : 66952.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupJoinClauseSyntax:Update(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.CollectionRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.JoinClauseSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.JoinConditionSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.AggregationRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupJoinClauseSyntax:this
          41 ( 2.06% of base) : 49634.dasm - Microsoft.CodeAnalysis.VisualBasic.Binder:ValidateSharedPropertyAndMethodModifiers(Microsoft.CodeAnalysis.SyntaxTokenList,Microsoft.CodeAnalysis.VisualBasic.MemberModifiers,bool,Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceMemberContainerTypeSymbol,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.VisualBasic.MemberModifiers:this
          41 ( 3.29% of base) : 66865.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupByClauseSyntax:Update(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ExpressionRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.ExpressionRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.VisualBasic.Syntax.AggregationRangeVariableSyntax, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]):Microsoft.CodeAnalysis.VisualBasic.Syntax.GroupByClauseSyntax:this
          40 ( 1.01% of base) : 141473.dasm - BigNumber:DblToRgbFast(double,System.Byte[],byref,byref):bool
          39 ( 2.13% of base) : 67925.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.ExternalChecksumDirectiveTriviaSyntax:Update(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken):Microsoft.CodeAnalysis.VisualBasic.Syntax.ExternalChecksumDirectiveTriviaSyntax:this
          39 ( 2.48% of base) : 33066.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax:Update(Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.CSharp.Syntax.VariableDeclarationSyntax,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax,Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.SeparatedSyntaxList`1[[Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],Microsoft.CodeAnalysis.SyntaxToken,Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax):Microsoft.CodeAnalysis.CSharp.Syntax.ForStatementSyntax:this

Top method improvements (bytes):
       -1328 (-8.81% of base) : 149121.dasm - System.Reflection.Metadata.MetadataReader:InitializeTableReaders(System.Reflection.Internal.MemoryBlock,ubyte,System.Int32[],System.Int32[]):this
        -813 (-25.22% of base) : 50920.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,bool):bool:this
        -798 (-24.98% of base) : 41155.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.CSharp.Symbol,bool,bool):bool:this
        -767 (-10.90% of base) : 23451.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindCompoundAssignment(Microsoft.CodeAnalysis.CSharp.Syntax.AssignmentExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this
        -756 (-10.92% of base) : 42777.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:DecodeWellKnownAttribute(byref,int,bool):this
        -705 (-12.56% of base) : 53258.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol:DecodeWellKnownAttribute(byref):this
        -694 (-11.67% of base) : 63815.dasm - Microsoft.CodeAnalysis.VisualBasic.Syntax.SyntaxNormalizer:RewriteTrivia(Microsoft.CodeAnalysis.SyntaxTriviaList,int,bool,bool,bool,int,int):Microsoft.CodeAnalysis.SyntaxTriviaList:this
        -627 (-10.76% of base) : 31639.dasm - Microsoft.CodeAnalysis.CSharp.Syntax.SyntaxNormalizer:RewriteTrivia(Microsoft.CodeAnalysis.SyntaxTriviaList,int,bool,bool,bool,int):Microsoft.CodeAnalysis.SyntaxTriviaList:this
        -571 (-7.35% of base) : 52504.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.ConstraintsHelper:RemoveDirectConstraintConflicts(Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol,System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint],Roslyn.Utilities.ConsList`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.TypeParameterSymbol, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]],int,Microsoft.CodeAnalysis.ArrayBuilder`1[TypeParameterDiagnosticInfo]):System.Collections.Immutable.ImmutableArray`1[TypeParameterConstraint]
        -542 (-10.87% of base) : 53824.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceNamedTypeSymbol:DecodeWellKnownAttribute(byref):this
        -536 (-21.62% of base) : 24374.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:CandidateOperators(Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature],Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorAnalysisResult],byref):bool:this
        -513 (-18.95% of base) : 43484.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceNamedTypeSymbol:DecodeWellKnownAttribute(byref):this
        -511 (-28.63% of base) : 53272.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):bool:this
        -508 (-28.32% of base) : 42795.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData):bool:this
        -484 (-17.30% of base) : 42914.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceComplexParameterSymbol:DecodeWellKnownAttribute(byref):this
        -466 (-10.36% of base) : 23379.dasm - Microsoft.CodeAnalysis.CSharp.Binder:BindNullCoalescingOperator(Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax,Microsoft.CodeAnalysis.DiagnosticBag):Microsoft.CodeAnalysis.CSharp.BoundExpression:this
        -445 (-12.56% of base) : 74719.dasm - SyntaxRemover:AddTrivia(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxToken):this
        -437 (-12.26% of base) : 46240.dasm - SyntaxRemover:AddTrivia(Microsoft.CodeAnalysis.SyntaxNode,Microsoft.CodeAnalysis.SyntaxToken):this
        -437 (-10.22% of base) : 42694.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers:CheckGraph(System.Collections.Generic.Dictionary`2[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35],[Microsoft.CodeAnalysis.CSharp.Symbols.ConstantEvaluationHelpers+Node`1[[Microsoft.CodeAnalysis.CSharp.Symbols.SourceFieldSymbolWithSyntaxReference, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]], Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]])
        -426 (-8.32% of base) : 24366.dasm - Microsoft.CodeAnalysis.CSharp.OverloadResolution:GetEnumOperation(int,Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.CSharp.BoundExpression,Microsoft.CodeAnalysis.ArrayBuilder`1[BinaryOperatorSignature]):this

Top method regressions (percentages):
           2 (14.29% of base) : 169387.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:set_Current(System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]):this
           2 (14.29% of base) : 1183.dasm - Microsoft.FSharp.Collections.KeyValuePairDebugFriendly`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:.ctor(System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]):this
           2 (11.76% of base) : 1182.dasm - Microsoft.FSharp.Collections.KeyValuePairDebugFriendly`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_KeyValue():System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]:this
           2 (11.76% of base) : 169386.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_Current():System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]:this
           2 (11.76% of base) : 80417.dasm - Microsoft.CodeAnalysis.Diagnostics.AnalysisScope:get_FilterSpanOpt():System.Nullable`1[TextSpan]:this
           2 (11.76% of base) : 81132.dasm - Microsoft.CodeAnalysis.CodeGen.LocalDefinition:get_SlotInfo():Microsoft.CodeAnalysis.CodeGen.LocalSlotDebugInfo:this
           2 (11.76% of base) : 165790.dasm - <GetAsyncStepInfos>d__21:System.Collections.Generic.IEnumerator<Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo>.get_Current():Microsoft.DiaSymReader.SymUnmanagedAsyncStepInfo:this
           2 (11.76% of base) : 20579.dasm - Enumerator[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_Current():System.Collections.Generic.KeyValuePair`2[Byte,Nullable`1]:this
           2 (11.76% of base) : 195162.dasm - System.Linq.Parallel.HashLookupValueList`2[Byte,Nullable`1][System.Byte,System.Nullable`1[System.Int32]]:get_Head():System.Linq.Parallel.Pair`2[Byte,Nullable`1]:this
          20 (11.24% of base) : 113366.dasm - System.Data.SqlTypes.SqlDecimal:CompareTo(System.Data.SqlTypes.SqlDecimal):int:this
           6 (11.11% of base) : 675.dasm - Microsoft.FSharp.Core.FSharpResult`2[Int64,Nullable`1][System.Int64,System.Nullable`1[System.Int32]]:NewOk(long):Microsoft.FSharp.Core.FSharpResult`2[Int64,Nullable`1]
           6 (10.91% of base) : 669.dasm - Microsoft.FSharp.Core.FSharpResult`2[Double,Nullable`1][System.Double,System.Nullable`1[System.Int32]]:NewOk(double):Microsoft.FSharp.Core.FSharpResult`2[Double,Nullable`1]
           4 (10.00% of base) : 113397.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlInt32():System.Data.SqlTypes.SqlInt32:this
           4 (10.00% of base) : 113393.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlBoolean():System.Data.SqlTypes.SqlBoolean:this
           4 (10.00% of base) : 113400.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlSingle():System.Data.SqlTypes.SqlSingle:this
           2 ( 9.52% of base) : 189243.dasm - System.DirectoryServices.Interop.AdsValueHelper:.ctor(System.DirectoryServices.Interop.AdsValue):this
           2 ( 9.52% of base) : 161228.dasm - Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions:set_AbsoluteExpiration(System.Nullable`1[DateTimeOffset]):this
           2 ( 9.52% of base) : 161260.dasm - Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions:set_AbsoluteExpiration(System.Nullable`1[DateTimeOffset]):this
           8 ( 9.41% of base) : 113396.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlInt16():System.Data.SqlTypes.SqlInt16:this
           8 ( 9.41% of base) : 113394.dasm - System.Data.SqlTypes.SqlDecimal:ToSqlByte():System.Data.SqlTypes.SqlByte:this

Top method improvements (percentages):
         -33 (-45.21% of base) : 84784.dasm - Microsoft.Diagnostics.Tracing.EventPipeEventSource:ResetCompressedHeader():this
         -85 (-38.29% of base) : 113919.dasm - System.Data.SqlTypes.SqlString:NotEquals(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
        -155 (-38.18% of base) : 185694.dasm - System.Diagnostics.PerformanceCounter:NextValue():float:this
         -22 (-36.07% of base) : 185675.dasm - System.Diagnostics.InstanceData:get_RawValue():long:this
         -49 (-35.25% of base) : 113920.dasm - System.Data.SqlTypes.SqlString:LessThan(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 113923.dasm - System.Data.SqlTypes.SqlString:GreaterThanOrEqual(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 113921.dasm - System.Data.SqlTypes.SqlString:GreaterThan(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 113922.dasm - System.Data.SqlTypes.SqlString:LessThanOrEqual(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-34.51% of base) : 113918.dasm - System.Data.SqlTypes.SqlString:Equals(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -49 (-32.67% of base) : 113912.dasm - System.Data.SqlTypes.SqlString:op_Inequality(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString):System.Data.SqlTypes.SqlBoolean
         -20 (-32.26% of base) : 185676.dasm - System.Diagnostics.InstanceData:.ctor(System.String,System.Diagnostics.CounterSample):this
        -511 (-28.63% of base) : 53272.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData):bool:this
        -508 (-28.32% of base) : 42795.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.SourceAssemblySymbol:IsKnownAssemblyAttribute(Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData):bool:this
         -48 (-27.91% of base) : 149407.dasm - System.Reflection.Metadata.ImportDefinitionCollection:GetEnumerator():Enumerator:this
         -10 (-27.78% of base) : 219366.dasm - CMSG_KEY_AGREE_RECIPIENT_INFO:get_OriginatorPublicKeyInfo():CERT_PUBLIC_KEY_INFO:this
         -48 (-25.67% of base) : 149408.dasm - System.Reflection.Metadata.ImportDefinitionCollection:System.Collections.Generic.IEnumerable<System.Reflection.Metadata.ImportDefinition>.GetEnumerator():System.Collections.Generic.IEnumerator`1[ImportDefinition]:this
         -45 (-25.57% of base) : 51866.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.Metadata.PE.PEModuleSymbol:GetCustomAttributesForToken(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData, Microsoft.CodeAnalysis.VisualBasic, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
         -45 (-25.57% of base) : 44975.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.PEModuleSymbol:GetCustomAttributesForToken(System.Reflection.Metadata.EntityHandle):System.Collections.Immutable.ImmutableArray`1[[Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData, Microsoft.CodeAnalysis.CSharp, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:this
        -813 (-25.22% of base) : 50920.dasm - Microsoft.CodeAnalysis.VisualBasic.Symbols.VisualBasicAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.VisualBasic.Symbol,bool,bool):bool:this
        -798 (-24.98% of base) : 41155.dasm - Microsoft.CodeAnalysis.CSharp.Symbols.CSharpAttributeData:ShouldEmitAttribute(Microsoft.CodeAnalysis.CSharp.Symbol,bool,bool):bool:this

8653 total methods with Code Size differences (3334 improved, 5319 regressed), 179 unchanged.


Copy link
Member

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for the contribution!

@EgorBo
Copy link
Member

EgorBo commented Sep 23, 2021

Improvements on alpine 3.12 dotnet/perf-autofiling-issues#1506

@tannergooding
Copy link
Member

It looks like a couple of the linked issues are tracked as regressions. We should investigate further and determine why.

@ghost ghost locked as resolved and limited conversation to collaborators Nov 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI community-contribution Indicates that the PR has been added by a community member
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants