Untitled diff

Created Diff never expires
35 removals
39 lines
46 additions
49 lines
00007ff7`cdf323f0 reproduction.MinusBenchmark.NoMinus()
00007ff7`cdf223f0 reproduction.MinusBenchmark.Minus()
IL_0000: ldc.i4.0
IL_0000: ldc.i4.0
IL_0001: stloc.0
IL_0001: stloc.0
IL_0002: br.s IL_001d
IL_0002: br.s IL_001f
00007ff7`cdf323f4 33c0 xor eax,eax
00007ff7`cdf223f4 33c0 xor eax,eax
IL_0004: ldarg.0
IL_0004: ldarg.0
IL_0005: ldfld System.Byte[] reproduction.MinusBenchmark::_buffer
IL_0005: ldfld System.Byte[] reproduction.MinusBenchmark::_buffer
IL_000a: call System.Span`1 System.Span`1::op_Implicit(!0[])
IL_000a: call System.Span`1 System.Span`1::op_Implicit(!0[])
IL_000f: ldc.i4 1073741824
IL_000f: ldc.i4 1073741824
IL_0014: call System.Void System.Buffers.Binary.BinaryPrimitives::WriteInt32BigEndian(System.Span`1,System.Int32)
IL_0014: ldloc.0
00007ff7`cdf323f6 488b5108 mov rdx,qword ptr [rcx+8]
IL_0015: sub
00007ff7`cdf323fa 4885d2 test rdx,rdx
IL_0016: call System.Void System.Buffers.Binary.BinaryPrimitives::WriteInt32BigEndian(System.Span`1,System.Int32)
00007ff7`cdf323fd 7508 jne 00007ff7`cdf32407
00007ff7`cdf223f6 488b5108 mov rdx,qword ptr [rcx+8]
00007ff7`cdf323ff 4533c0 xor r8d,r8d
00007ff7`cdf223fa 4885d2 test rdx,rdx
00007ff7`cdf32402 4533c9 xor r9d,r9d
00007ff7`cdf223fd 7508 jne 00007ff7`cdf22407
00007ff7`cdf32405 eb08 jmp 00007ff7`cdf3240f
00007ff7`cdf223ff 4533c0 xor r8d,r8d
00007ff7`cdf32407 4c8d4210 lea r8,[rdx+10h]
00007ff7`cdf22402 4533c9 xor r9d,r9d
00007ff7`cdf3240b 448b4a08 mov r9d,dword ptr [rdx+8]
00007ff7`cdf22405 eb08 jmp 00007ff7`cdf2240f
00007ff7`cdf3240f 498bd0 mov rdx,r8
00007ff7`cdf22407 4c8d4210 lea r8,[rdx+10h]
00007ff7`cdf32412 458bc1 mov r8d,r9d
00007ff7`cdf2240b 448b4a08 mov r9d,dword ptr [rdx+8]
00007ff7`cdf32415 458bc8 mov r9d,r8d
00007ff7`cdf2240f 498bd0 mov rdx,r8
00007ff7`cdf32418 41b840000000 mov r8d,40h
00007ff7`cdf22412 458bc1 mov r8d,r9d
00007ff7`cdf3241e 4183f904 cmp r9d,4
00007ff7`cdf22415 458bc8 mov r9d,r8d
00007ff7`cdf32422 720f jb 00007ff7`cdf32433
00007ff7`cdf22418 448bc0 mov r8d,eax
00007ff7`cdf32424 448902 mov dword ptr [rdx],r8d
00007ff7`cdf2241b 41f7d8 neg r8d
IL_0019: ldloc.0
00007ff7`cdf2241e 4181c000000040 add r8d,40000000h
IL_001a: ldc.i4.1
00007ff7`cdf22425 458bd0 mov r10d,r8d
IL_001b: add
00007ff7`cdf22428 4181e2ff00ff00 and r10d,0FF00FFh
IL_001c: stloc.0
00007ff7`cdf2242f 4181e000ff00ff and r8d,0FF00FF00h
00007ff7`cdf32427 ffc0 inc eax
00007ff7`cdf22436 41c1c218 rol r10d,18h
IL_001d: ldloc.0
00007ff7`cdf2243a 41c1c008 rol r8d,8
IL_001e: ldc.i4.s 100
00007ff7`cdf2243e 4503c2 add r8d,r10d
IL_0020: blt.s IL_0004
00007ff7`cdf22441 4183f904 cmp r9d,4
00007ff7`cdf32429 83f864 cmp eax,64h
00007ff7`cdf22445 720f jb 00007ff7`cdf22456
00007ff7`cdf3242c 7cc8 jl 00007ff7`cdf323f6
00007ff7`cdf22447 448902 mov dword ptr [rdx],r8d
IL_0022: ldloc.0
IL_001b: ldloc.0
IL_0023: ret
IL_001c: ldc.i4.1
00007ff7`cdf3242e 4883c428 add rsp,28h
IL_001d: add
IL_001e: stloc.0
00007ff7`cdf2244a ffc0 inc eax
IL_001f: ldloc.0
IL_0020: ldc.i4.s 100
IL_0022: blt.s IL_0004
00007ff7`cdf2244c 83f864 cmp eax,64h
00007ff7`cdf2244f 7ca5 jl 00007ff7`cdf223f6
IL_0024: ldloc.0
IL_0025: ret
00007ff7`cdf22451 4883c428 add rsp,28h