Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5012602320, [percent: local period] instance int32 [benchapp] SumBench::SumInt()[OptimizedTier1]() /tmp/jitted-42114-27231.so 0.02 push rbp push r15 push r14 push r13 push rbx sub rsp,0xe0 lea rbp,[rsp+0x100] 0.02 vxorps xmm8,xmm8,xmm8 vmovdqu32 ZMMWORD PTR [rbp-0x100],zmm8 vmovdqu32 ZMMWORD PTR [rbp-0xc0],zmm8 vmovdqa XMMWORD PTR [rbp-0x80],xmm8 mov rbx,QWORD PTR [rdi+0x8] test rbx,rbx ↓ je 371 mov r15d,0x1 0.03 movabs rdi,0x7a17ec54ba78 cmp QWORD PTR [rbx],rdi 0.02 ↓ jne 383 lea r14,[rbx+0x10] mov r13d,DWORD PTR [rbx+0x8] 0.01 5d: test r15d,r15d ↓ je 4be cmp r13d,0x20 0.01 ↓ jl 48f mov QWORD PTR [rbp-0x80],r14 mov DWORD PTR [rbp-0x78],r13d vxorps ymm0,ymm0,ymm0 0.03 vmovups YMMWORD PTR [rbp-0x50],ymm0 cmp DWORD PTR [rbp-0x78],0x20 0.12 ↓ jge 91 ↓ jmp 3d4 8c: vmovups ymm0,YMMWORD PTR [rbp-0x70] 0.06 91: mov rsi,QWORD PTR [rbp-0x80] vmovups ymm1,YMMWORD PTR [rsi] 0.01 vmovups YMMWORD PTR [rbp-0xb0],ymm1 3.35 vmovups ymm1,YMMWORD PTR [rbp-0x50] vpaddd ymm1,ymm1,YMMWORD PTR [rbp-0xb0] 0.12 vpxor ymm2,ymm1,YMMWORD PTR [rbp-0xb0] 0.03 vmovaps ymm3,ymm1 0.01 vpternlogd ymm3,ymm2,YMMWORD PTR [rbp-0x50],0x48 0.02 vpor ymm0,ymm3,ymm0 0.05 mov rsi,QWORD PTR [rbp-0x80] add rsi,0x20 3.05 mov edx,DWORD PTR [rbp-0x78] 0.06 add edx,0xfffffff8 0.01 cmp edx,0x8 ↓ jl 3de vmovups ymm2,YMMWORD PTR [rsi] 0.04 vmovups YMMWORD PTR [rbp-0xb0],ymm2 0.01 vpaddd ymm2,ymm1,YMMWORD PTR [rbp-0xb0] 0.09 vmovups YMMWORD PTR [rbp-0x50],ymm2 0.02 vmovups ymm2,YMMWORD PTR [rbp-0x50] 3.45 vpxor ymm2,ymm2,YMMWORD PTR [rbp-0xb0] 0.06 vpternlogd ymm1,ymm2,YMMWORD PTR [rbp-0x50],0x48 0.10 vpor ymm0,ymm1,ymm0 0.05 vmovups YMMWORD PTR [rbp-0x70],ymm0 0.02 cmp DWORD PTR [rbp-0x78],0x10 ↓ jl 3f0 0.01 mov rsi,QWORD PTR [rbp-0x80] add rsi,0x40 3.24 mov edx,DWORD PTR [rbp-0x78] add edx,0xfffffff0 lea rdi,[rbp-0xb0] 0.05 movabs rax,0x7a17ed07cc00 → call QWORD PTR [rax] 3.06 vmovups ymm0,YMMWORD PTR [rbp-0x50] vpaddd ymm1,ymm0,YMMWORD PTR [rbp-0xb0] 0.02 vpxor ymm0,ymm1,YMMWORD PTR [rbp-0xb0] vmovups YMMWORD PTR [rbp-0xd0],ymm1 vmovaps ymm2,ymm1 vpternlogd ymm2,ymm0,YMMWORD PTR [rbp-0x50],0x48 vpor ymm0,ymm2,YMMWORD PTR [rbp-0x70] 6.25 vmovups YMMWORD PTR [rbp-0x70],ymm0 1.54 cmp DWORD PTR [rbp-0x78],0x18 ↓ jl 3f0 vxorps xmm2,xmm2,xmm2 vmovdqu32 XMMWORD PTR [rbp-0x100],xmm2 mov rsi,QWORD PTR [rbp-0x80] add rsi,0x60 mov edx,DWORD PTR [rbp-0x78] 1.56 add edx,0xffffffe8 1.68 lea rdi,[rbp-0x100] movabs rax,0x7a17ed117630 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x100] mov rdx,QWORD PTR [rbp-0xf8] 62.21 lea rdi,[rbp-0xb0] movabs rax,0x7a17ed07cc00 → call QWORD PTR [rax] 3.12 vmovups ymm1,YMMWORD PTR [rbp-0xd0] vpaddd ymm0,ymm1,YMMWORD PTR [rbp-0xb0] 0.01 vmovups YMMWORD PTR [rbp-0x50],ymm0 vmovups ymm0,YMMWORD PTR [rbp-0x50] 0.02 vpxor ymm0,ymm0,YMMWORD PTR [rbp-0xb0] 0.01 vpternlogd ymm1,ymm0,YMMWORD PTR [rbp-0x50],0x48 0.02 vpor ymm0,ymm1,YMMWORD PTR [rbp-0x70] 0.02 vmovups YMMWORD PTR [rbp-0x70],ymm0 3.17 lea rdi,[rbp-0x80] mov esi,0x20 movabs rax,0x7a17ed07cc48 → call QWORD PTR [rax] 2.94 mov QWORD PTR [rbp-0x80],rax mov QWORD PTR [rbp-0x78],rdx cmp DWORD PTR [rbp-0x78],0x20 ↑ jge 8c 230: cmp DWORD PTR [rbp-0x78],0x8 0.01 ↓ jge 3fd vmovups ymm1,YMMWORD PTR [rbp-0x70] vptest ymm1,YMMWORD PTR [rip+0x318] # 5e0 0.02 ↓ jne 46d 0.02 lea rdi,[rbp-0x50] xor esi,esi 0.01 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] mov r14d,eax lea rdi,[rbp-0x50] 0.01 mov esi,0x1 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add r14d,eax ↓ jo 554 lea rdi,[rbp-0x50] 0.03 mov esi,0x2 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add eax,r14d ↓ jo 554 mov r14d,eax 0.02 lea rdi,[rbp-0x50] mov esi,0x3 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add eax,r14d ↓ jo 554 mov r14d,eax 0.03 lea rdi,[rbp-0x50] mov esi,0x4 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add eax,r14d ↓ jo 554 mov r14d,eax 0.03 lea rdi,[rbp-0x50] mov esi,0x5 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add eax,r14d ↓ jo 554 mov r14d,eax 0.06 lea rdi,[rbp-0x50] mov esi,0x6 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add eax,r14d ↓ jo 554 mov r14d,eax 0.03 lea rdi,[rbp-0x50] mov esi,0x7 movabs rax,0x7a17ec9cd428 → call QWORD PTR [rax] add eax,r14d ↓ jo 554 mov r14d,eax 0.03 mov rax,QWORD PTR [rbp-0x80] mov ecx,DWORD PTR [rbp-0x78] xor edx,edx cmp edx,ecx ↓ jl 47a 358: mov r15d,r14d 35b: mov eax,r15d vzeroupper add rsp,0xe0 0.01 pop rbx pop r13 pop r14 pop r15 pop rbp ← ret 371: mov edi,0x11 movabs rax,0x7a17ec7163e8 → call QWORD PTR [rax] int3 383: movabs rdi,0x7a17ec88dcf0 cmp QWORD PTR [rbx],rdi ↓ jne 3c6 mov esi,DWORD PTR [rbx+0x10] mov rdi,QWORD PTR [rbx+0x8] cmp DWORD PTR [rdi+0x8],esi ↓ jae 3ab movabs rax,0x7a17ec717228 → call QWORD PTR [rax] int3 3ab: add rdi,0x10 movabs rax,0x7a17eca67270 → call QWORD PTR [rax] mov r14,rax mov r13d,edx ↑ jmp 5d 3c6: xor r14d,r14d xor r13d,r13d xor r15d,r15d ↑ jmp 5d 3d4: vmovups YMMWORD PTR [rbp-0x70],ymm0 ↑ jmp 230 3de: mov edi,0x6 movabs rax,0x7a17ec7170c0 → call QWORD PTR [rax] int3 3f0: movabs rax,0x7a17ec71dd10 → call QWORD PTR [rax] int3 3fd: mov rsi,QWORD PTR [rbp-0x80] mov rdx,QWORD PTR [rbp-0x78] lea rdi,[rbp-0xf0] movabs rax,0x7a17ed07cc00 → call QWORD PTR [rax] vmovups ymm0,YMMWORD PTR [rbp-0x50] vpaddd ymm0,ymm0,YMMWORD PTR [rbp-0xf0] vpxor ymm1,ymm0,YMMWORD PTR [rbp-0xf0] vmovaps ymm2,ymm0 vpternlogd ymm2,ymm1,YMMWORD PTR [rbp-0x50],0x48 vpor ymm1,ymm2,YMMWORD PTR [rbp-0x70] vmovups YMMWORD PTR [rbp-0x70],ymm1 vmovups YMMWORD PTR [rbp-0x50],ymm0 lea rdi,[rbp-0x80] mov esi,0x8 movabs rax,0x7a17ed07cc48 → call QWORD PTR [rax] mov QWORD PTR [rbp-0x80],rax mov QWORD PTR [rbp-0x78],rdx ↑ jmp 230 46d: movabs rax,0x7a17ed07cc60 → call QWORD PTR [rax] int3 47a: add r14d,DWORD PTR [rax+rdx*4] ↓ jo 554 inc edx cmp edx,ecx ↑ jl 47a ↑ jmp 358 48f: xor r15d,r15d xor ebx,ebx cmp ebx,r13d ↓ jge 4b9 499: mov edi,DWORD PTR [r14+rbx*4] movabs rax,0x7a17ecce4138 → call QWORD PTR [rax] add r15d,eax ↓ jo 554 inc ebx cmp ebx,r13d ↑ jl 499 4b9: ↑ jmp 35b 4be: xor r15d,r15d mov r14d,DWORD PTR [rbx+0x8] test r14d,r14d ↓ je 4f3 movabs rdi,0x7a17ed0cde40 → call instance int32 [benchapp] SumBench::SumInt()[OptimizedTier1]+0x7db0fd90 mov r13,rax mov rdi,r13 mov rsi,rbx mov edx,r14d movabs rax,0x7a17ed117648 → call QWORD PTR [rax] ↓ jmp 516 4f3: movabs rdi,0x7a17ed0cde40 movabs rax,0x7a17ec515728 → call QWORD PTR [rax] movabs rdi,0x7a103bc02e10 mov r13,QWORD PTR [rdi] 516: mov rdi,r13 movabs rax,0x7a17ec85d0b8 cmp DWORD PTR [rdi],edi → call QWORD PTR [rax] test eax,eax ↓ je 54f mov rdi,r13 movabs rax,0x7a17ed0cdf00 → call QWORD PTR [rax] mov edi,eax movabs rax,0x7a17ecce4138 → call QWORD PTR [rax] add r15d,eax ↓ jo 554 ↑ jmp 516 54f: ↑ jmp 35b 554: → call instance int32 [benchapp] SumBench::SumInt()[OptimizedTier1]+0xffffffffff684b50 int3 Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5012602320, [percent: local period] valuetype System.Numerics.Vector`1 [System.Private.CoreLib] System.Numerics.Vector::Create(valuetype System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-42114-27209.so 47.86 push rax 52.10 cmp edx,0x8 ↓ jl 19 vmovups ymm0,YMMWORD PTR [rsi] 0.04 vmovups YMMWORD PTR [rdi],ymm0 mov rax,rdi vzeroupper add rsp,0x8 ← ret 19: mov edi,0x6 movabs rax,0x7a17ec7170c0 → call QWORD PTR [rax] int3 Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5012602320, [percent: local period] instance valuetype System.ReadOnlySpan`1 [System.Private.CoreLib] System.ReadOnlySpan`1[System.Int32]::Slice(int32)[OptimizedTier1]() /tmp/jitted-42114-27211.so 48.71 push rax 51.29 mov edx,DWORD PTR [rdi+0x8] cmp esi,edx ↓ ja 18 mov rax,QWORD PTR [rdi] mov ecx,esi lea rax,[rax+rcx*4] sub edx,esi add rsp,0x8 ← ret 18: movabs rax,0x7a17ec71dd10 → call QWORD PTR [rax] int3 Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5012602320, [percent: local period] instance void [System.Private.CoreLib] System.ReadOnlySpan`1[System.Int32]::.ctor(!0&,int32)[OptimizedTier1]() /tmp/jitted-42114-27257.so 50.23 mov QWORD PTR [rdi],rsi 49.70 mov DWORD PTR [rdi+0x8],edx 0.08 ← ret