Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5004800760, [percent: local period] instance int32 [benchapp] MinMaxBench::Max()[OptimizedTier1]() /tmp/jitted-40693-27007.so 4.30 push rbp push r15 push r14 push rbx sub rsp,0x58 lea rbp,[rsp+0x70] mov rbx,QWORD PTR [rdi+0x8] 4.26 test rbx,rbx ↓ je cb mov r15d,0x1 movabs rdi,0x7324f098ba78 cmp QWORD PTR [rbx],rdi 0.03 ↓ jne dd lea rax,[rbx+0x10] mov ecx,DWORD PTR [rbx+0x8] 0.00 3c: test r15d,r15d ↓ je 220 test ecx,ecx 4.34 ↓ je 128 cmp ecx,0x4 ↓ jl 135 cmp ecx,0x8 ↓ jl 15c cmp ecx,0x10 ↓ jl 1b4 add ecx,0xfffffff0 0.00 lea rcx,[rax+rcx*4] vmovups zmm0,ZMMWORD PTR [rax] add rax,0x40 4.33 cmp rax,rcx ↓ jb 20c 82: vpmaxsd zmm0,zmm0,ZMMWORD PTR [rcx] 0.10 vmovd eax,xmm0 0.06 mov ecx,0x1 nop 0.01 nop a0: mov edx,ecx vmovups ZMMWORD PTR [rbp-0x70],zmm0 45.91 mov edx,DWORD PTR [rbp+rdx*4-0x70] 31.07 cmp edx,eax 1.08 ↓ jle b6 mov eax,edx b6: inc ecx 0.03 cmp ecx,0x10 ↑ jl a0 bd: vzeroupper add rsp,0x58 2.53 pop rbx 1.85 pop r14 0.08 pop r15 pop rbp ← ret cb: mov edi,0x11 movabs rax,0x7324f0b563e8 → call QWORD PTR [rax] int3 dd: movabs rdi,0x7324f0ccdcf0 cmp QWORD PTR [rbx],rdi ↓ jne 11c mov esi,DWORD PTR [rbx+0x10] mov rdi,QWORD PTR [rbx+0x8] cmp DWORD PTR [rdi+0x8],esi ↓ jae 105 movabs rax,0x7324f0b57228 → call QWORD PTR [rax] int3 105: add rdi,0x10 movabs rax,0x7324f0ea7180 → call QWORD PTR [rax] mov ecx,edx ↑ jmp 3c 11c: xor eax,eax xor ecx,ecx xor r15d,r15d ↑ jmp 3c 128: movabs rax,0x7324f0cdc468 → call QWORD PTR [rax] int3 135: mov edx,DWORD PTR [rax] mov edi,0x1 cmp edi,ecx ↓ jl 147 mov eax,edx ↑ jmp bd 147: cmp DWORD PTR [rax+rdi*4],edx ↓ jle 14f mov edx,DWORD PTR [rax+rdi*4] 14f: inc edi cmp edi,ecx ↑ jl 147 mov eax,edx ↑ jmp bd 15c: add ecx,0xfffffffc lea rcx,[rax+rcx*4] vmovups xmm0,XMMWORD PTR [rax] ↓ jmp 16e 169: vpmaxsd xmm0,xmm0,XMMWORD PTR [rax] 16e: add rax,0x10 cmp rax,rcx ↑ jb 169 vpmaxsd xmm0,xmm0,XMMWORD PTR [rcx] vmovd eax,xmm0 mov ecx,0x1 cmp ecx,0x4 ↑ jge bd 18e: mov edx,ecx vmovups XMMWORD PTR [rbp-0x70],xmm0 mov edx,DWORD PTR [rbp+rdx*4-0x70] cmp edx,eax ↓ jle 1a8 mov eax,ecx vmovups XMMWORD PTR [rbp-0x70],xmm0 mov eax,DWORD PTR [rbp+rax*4-0x70] 1a8: inc ecx cmp ecx,0x4 ↑ jl 18e ↑ jmp bd 1b4: add ecx,0xfffffff8 lea rcx,[rax+rcx*4] vmovups ymm0,YMMWORD PTR [rax] ↓ jmp 1c6 1c1: vpmaxsd ymm0,ymm0,YMMWORD PTR [rax] 1c6: add rax,0x20 cmp rax,rcx ↑ jb 1c1 vpmaxsd ymm0,ymm0,YMMWORD PTR [rcx] vmovd eax,xmm0 mov ecx,0x1 cmp ecx,0x8 ↑ jge bd 1e6: mov edx,ecx vmovups YMMWORD PTR [rbp-0x70],ymm0 mov edx,DWORD PTR [rbp+rdx*4-0x70] cmp edx,eax ↓ jle 200 mov eax,ecx vmovups YMMWORD PTR [rbp-0x70],ymm0 mov eax,DWORD PTR [rbp+rax*4-0x70] 200: inc ecx cmp ecx,0x8 ↑ jl 1e6 ↑ jmp bd 20c: vpmaxsd zmm0,zmm0,ZMMWORD PTR [rax] add rax,0x40 cmp rax,rcx ↑ jb 20c ↑ jmp 82 220: mov r15d,DWORD PTR [rbx+0x8] test r15d,r15d ↓ je 25b movabs rdi,0x7324f152aef0 → call instance int32 [benchapp] MinMaxBench::Max()[OptimizedTier1]+0x7dad0870 mov r14,rax mov rdi,r14 mov esi,r15d movabs rax,0x7324f0ea4d38 → call QWORD PTR [rax] lea rdi,[r14+0x10] mov rsi,rbx → call instance int32 [benchapp] MinMaxBench::Max()[OptimizedTier1]+0xfffffffffe583f00 ↓ jmp 27e 25b: movabs rdi,0x7324f152aef0 movabs rax,0x7324f0955728 → call QWORD PTR [rax] movabs rax,0x73152c802e00 mov r14,QWORD PTR [rax] 27e: mov eax,DWORD PTR [r14+0x8] inc eax cmp eax,DWORD PTR [r14+0xc] ↓ jae 2a1 mov DWORD PTR [r14+0x8],eax mov rdi,r14 movabs rax,0x7324f152afb0 → call QWORD PTR [rax] mov edx,eax ↓ jmp 2d7 2a1: mov eax,DWORD PTR [r14+0xc] mov DWORD PTR [r14+0x8],eax movabs rax,0x7324f0cdc468 → call QWORD PTR [rax] int3 2b6: mov eax,DWORD PTR [r14+0x8] cmp eax,DWORD PTR [r14+0xc] ↓ jae 2fc mov rax,QWORD PTR [r14+0x10] mov edi,DWORD PTR [r14+0x8] cmp edi,DWORD PTR [rax+0x8] ↓ jae 30d mov eax,DWORD PTR [rax+rdi*4+0x10] cmp eax,edx ↓ jle 2d7 mov edx,eax 2d7: mov eax,DWORD PTR [r14+0x8] inc eax cmp eax,DWORD PTR [r14+0xc] ↓ jae 2e9 mov DWORD PTR [r14+0x8],eax ↑ jmp 2b6 2e9: mov eax,DWORD PTR [r14+0xc] mov DWORD PTR [r14+0x8],eax xor eax,eax ↑ jne 2b6 mov eax,edx ↑ jmp bd 2fc: mov edi,DWORD PTR [r14+0x8] movabs rax,0x7324f0eadc08 → call QWORD PTR [rax] int3 30d: → call instance int32 [benchapp] MinMaxBench::Max()[OptimizedTier1]+0xffffffffff685648 int3 Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5004800760, [percent: local period] stub<18972> Allocate() /tmp/jitted-40693-24854.so 100.00 → jmp QWORD PTR [rip+0x3ffa] # 4080 Allocate+0x4000> mov r10,QWORD PTR [rip+0x3ffb] → jmp QWORD PTR [rip+0x3ffd] # 4090 Allocate+0x4010> nop data16 cs .byte 0xf (bad) Samples: 25K of event 'cpu-clock', 4999 Hz, Event count (approx.): 5004800760, [percent: local period] instance void [benchapp-Job-RTQYDZ-1Emitted] BenchmarkDotNet.Autogenerated.Runnable_0::WorkloadActionUnroll(int64)[Optimized]() /tmp/jitted-40693-25844.so Percent push rbp push r15 push r14 push r13 push rbx lea rbp,[rsp+0x20] mov rbx,rdi mov r15,rsi xor r14d,r14d cmp r14,r15 ↓ jge 15b 1f: mov r13,QWORD PTR [rbx+0x48] 2.85 mov rax,QWORD PTR [rbx+0x40] 0.11 mov rdi,QWORD PTR [rax+0x8] → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 2.11 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 3.16 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.59 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.64 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.59 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.43 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 2.74 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.95 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.69 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.22 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 4.85 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 3.16 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax 0.11 mov r13,QWORD PTR [rbx+0x48] 3.90 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.64 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.90 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.43 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.27 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.11 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 4.32 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.11 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.90 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 1.69 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 3.59 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 3.06 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 2.22 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 4.11 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 2.43 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 3.38 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax mov r13,QWORD PTR [rbx+0x48] 4.54 mov rax,QWORD PTR [rbx+0x40] mov rdi,QWORD PTR [rax+0x8] 2.32 → call QWORD PTR [rax+0x18] mov DWORD PTR [r13+0x38],eax inc r14 3.90 cmp r14,r15 ↑ jl 1f 15b: pop rbx pop r13 pop r14 pop r15 pop rbp ← ret