Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5067013200, [percent: local period] instance int32 [benchapp] SumBench::SumInt()[OptimizedTier1]() /tmp/jitted-40765-27256.so 0.03 push rbp push r15 push r14 push r13 push rbx sub rsp,0xe0 lea rbp,[rsp+0x100] 0.03 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] 0.01 test rbx,rbx 0.03 ↓ je 371 mov r15d,0x1 movabs rdi,0x7878c2f5ba78 cmp QWORD PTR [rbx],rdi ↓ jne 383 lea r14,[rbx+0x10] mov r13d,DWORD PTR [rbx+0x8] 5d: test r15d,r15d ↓ je 4be cmp r13d,0x20 ↓ jl 48f mov QWORD PTR [rbp-0x80],r14 0.01 mov DWORD PTR [rbp-0x78],r13d vxorps ymm0,ymm0,ymm0 vmovups YMMWORD PTR [rbp-0x50],ymm0 cmp DWORD PTR [rbp-0x78],0x20 ↓ jge 91 ↓ jmp 3d4 8c: vmovups ymm0,YMMWORD PTR [rbp-0x70] 0.02 91: mov rsi,QWORD PTR [rbp-0x80] 0.01 vmovups ymm1,YMMWORD PTR [rsi] 0.01 vmovups YMMWORD PTR [rbp-0xb0],ymm1 3.36 vmovups ymm1,YMMWORD PTR [rbp-0x50] 0.01 vpaddd ymm1,ymm1,YMMWORD PTR [rbp-0xb0] 0.01 vpxor ymm2,ymm1,YMMWORD PTR [rbp-0xb0] vmovaps ymm3,ymm1 vpternlogd ymm3,ymm2,YMMWORD PTR [rbp-0x50],0x48 0.01 vpor ymm0,ymm3,ymm0 0.10 mov rsi,QWORD PTR [rbp-0x80] add rsi,0x20 3.43 mov edx,DWORD PTR [rbp-0x78] 0.02 add edx,0xfffffff8 cmp edx,0x8 ↓ jl 3de vmovups ymm2,YMMWORD PTR [rsi] vmovups YMMWORD PTR [rbp-0xb0],ymm2 vpaddd ymm2,ymm1,YMMWORD PTR [rbp-0xb0] 0.08 vmovups YMMWORD PTR [rbp-0x50],ymm2 vmovups ymm2,YMMWORD PTR [rbp-0x50] 3.42 vpxor ymm2,ymm2,YMMWORD PTR [rbp-0xb0] 0.04 vpternlogd ymm1,ymm2,YMMWORD PTR [rbp-0x50],0x48 0.10 vpor ymm0,ymm1,ymm0 0.53 vmovups YMMWORD PTR [rbp-0x70],ymm0 0.61 cmp DWORD PTR [rbp-0x78],0x10 ↓ jl 3f0 mov rsi,QWORD PTR [rbp-0x80] add rsi,0x40 mov edx,DWORD PTR [rbp-0x78] 2.93 add edx,0xfffffff0 0.03 lea rdi,[rbp-0xb0] movabs rax,0x7878c3a8cc00 → call QWORD PTR [rax] 3.67 vmovups ymm0,YMMWORD PTR [rbp-0x50] vpaddd ymm1,ymm0,YMMWORD PTR [rbp-0xb0] 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] 17.50 vmovups YMMWORD PTR [rbp-0x70],ymm0 3.70 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] add edx,0xffffffe8 0.03 lea rdi,[rbp-0x100] 3.61 movabs rax,0x7878c3b27630 → call QWORD PTR [rax] mov rsi,QWORD PTR [rbp-0x100] 0.01 mov rdx,QWORD PTR [rbp-0xf8] 49.60 lea rdi,[rbp-0xb0] 0.01 movabs rax,0x7878c3a8cc00 → call QWORD PTR [rax] 3.28 vmovups ymm1,YMMWORD PTR [rbp-0xd0] vpaddd ymm0,ymm1,YMMWORD PTR [rbp-0xb0] vmovups YMMWORD PTR [rbp-0x50],ymm0 vmovups ymm0,YMMWORD PTR [rbp-0x50] vpxor ymm0,ymm0,YMMWORD PTR [rbp-0xb0] 0.01 vpternlogd ymm1,ymm0,YMMWORD PTR [rbp-0x50],0x48 vpor ymm0,ymm1,YMMWORD PTR [rbp-0x70] vmovups YMMWORD PTR [rbp-0x70],ymm0 3.40 lea rdi,[rbp-0x80] mov esi,0x20 movabs rax,0x7878c3a8cc48 → call QWORD PTR [rax] 0.01 mov QWORD PTR [rbp-0x80],rax 0.01 mov QWORD PTR [rbp-0x78],rdx cmp DWORD PTR [rbp-0x78],0x20 ↑ jge 8c 230: cmp DWORD PTR [rbp-0x78],0x8 0.03 ↓ jge 3fd vmovups ymm1,YMMWORD PTR [rbp-0x70] vptest ymm1,YMMWORD PTR [rip+0x318] # 5e0 ↓ jne 46d 0.05 lea rdi,[rbp-0x50] xor esi,esi movabs rax,0x7878c33dd428 → call QWORD PTR [rax] mov r14d,eax 0.04 lea rdi,[rbp-0x50] mov esi,0x1 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add r14d,eax 0.04 ↓ jo 554 lea rdi,[rbp-0x50] mov esi,0x2 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add eax,r14d 0.04 ↓ jo 554 mov r14d,eax lea rdi,[rbp-0x50] mov esi,0x3 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add eax,r14d 0.04 ↓ jo 554 mov r14d,eax lea rdi,[rbp-0x50] mov esi,0x4 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add eax,r14d 0.03 ↓ jo 554 mov r14d,eax lea rdi,[rbp-0x50] mov esi,0x5 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add eax,r14d 0.03 ↓ jo 554 mov r14d,eax lea rdi,[rbp-0x50] mov esi,0x6 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add eax,r14d 0.02 ↓ jo 554 mov r14d,eax lea rdi,[rbp-0x50] mov esi,0x7 movabs rax,0x7878c33dd428 → call QWORD PTR [rax] add eax,r14d 0.04 ↓ jo 554 mov r14d,eax 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 0.02 add rsp,0xe0 pop rbx pop r13 pop r14 pop r15 pop rbp ← ret 371: mov edi,0x11 movabs rax,0x7878c31263e8 → call QWORD PTR [rax] int3 383: movabs rdi,0x7878c329dcf0 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,0x7878c3127228 → call QWORD PTR [rax] int3 3ab: add rdi,0x10 movabs rax,0x7878c3477270 → 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,0x7878c31270c0 → call QWORD PTR [rax] int3 3f0: movabs rax,0x7878c312dd10 → call QWORD PTR [rax] int3 3fd: mov rsi,QWORD PTR [rbp-0x80] mov rdx,QWORD PTR [rbp-0x78] lea rdi,[rbp-0xf0] movabs rax,0x7878c3a8cc00 → 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,0x7878c3a8cc48 → call QWORD PTR [rax] mov QWORD PTR [rbp-0x80],rax mov QWORD PTR [rbp-0x78],rdx ↑ jmp 230 46d: movabs rax,0x7878c3a8cc60 → 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,0x7878c36f4138 → 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,0x7878c3adde40 → call instance int32 [benchapp] SumBench::SumInt()[OptimizedTier1]+0x7daffd90 mov r13,rax mov rdi,r13 mov rsi,rbx mov edx,r14d movabs rax,0x7878c3b27648 → call QWORD PTR [rax] ↓ jmp 516 4f3: movabs rdi,0x7878c3adde40 movabs rax,0x7878c2f25728 → call QWORD PTR [rax] movabs rdi,0x786908802e10 mov r13,QWORD PTR [rdi] 516: mov rdi,r13 movabs rax,0x7878c326d0b8 cmp DWORD PTR [rdi],edi → call QWORD PTR [rax] test eax,eax ↓ je 54f mov rdi,r13 movabs rax,0x7878c3addf00 → call QWORD PTR [rax] mov edi,eax movabs rax,0x7878c36f4138 → 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.): 5067013200, [percent: local period] valuetype System.Numerics.Vector`1 [System.Private.CoreLib] System.Numerics.Vector::Create(valuetype System.ReadOnlySpan`1)[OptimizedTier1]() /tmp/jitted-40765-27234.so 48.16 push rax 51.77 cmp edx,0x8 ↓ jl 19 vmovups ymm0,YMMWORD PTR [rsi] 0.07 vmovups YMMWORD PTR [rdi],ymm0 mov rax,rdi vzeroupper add rsp,0x8 ← ret 19: mov edi,0x6 movabs rax,0x7878c31270c0 → call QWORD PTR [rax] int3 Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5067013200, [percent: local period] instance valuetype System.ReadOnlySpan`1 [System.Private.CoreLib] System.ReadOnlySpan`1[System.Int32]::Slice(int32)[OptimizedTier1]() /tmp/jitted-40765-27236.so 31.95 push rax 34.00 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 34.05 ← ret 18: movabs rax,0x7878c312dd10 → call QWORD PTR [rax] int3 Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5067013200, [percent: local period] instance void [System.Private.CoreLib] System.ReadOnlySpan`1[System.Int32]::.ctor(!0&,int32)[OptimizedTier1]() /tmp/jitted-40765-27282.so 49.49 mov QWORD PTR [rdi],rsi 50.51 mov DWORD PTR [rdi+0x8],edx ← ret