branch

Created Diff never expires
231 removals
258 lines
221 additions
249 lines
.text
.intel_syntax noprefix
.file "branch_threshold.cpp"
.file "branch_threshold.cpp"
.intel_syntax noprefix
# Start of file scope inline assembly
.globl _ZSt21ios_base_library_initv

# End of file scope inline assembly
.section .rodata.cst16,"aM",@progbits,16
.p2align 4, 0x0 # -- Begin function main
.LCPI0_0:
.long 0 # 0x0
.long 1 # 0x1
.long 2 # 0x2
.long 3 # 0x3
.LCPI0_1:
.long 23 # 0x17
.long 23 # 0x17
.long 23 # 0x17
.long 23 # 0x17
.LCPI0_2:
.long 91 # 0x5b
.long 91 # 0x5b
.long 91 # 0x5b
.long 91 # 0x5b
.LCPI0_3:
.long 1148159575 # 0x446f8657
.long 1148159575 # 0x446f8657
.long 1148159575 # 0x446f8657
.long 1148159575 # 0x446f8657
.LCPI0_4:
.long 101 # 0x65
.long 101 # 0x65
.long 101 # 0x65
.long 101 # 0x65
.LCPI0_5:
.long 8 # 0x8
.long 8 # 0x8
.long 8 # 0x8
.long 8 # 0x8
.text
.text
#APP
.globl _ZSt21ios_base_library_initv
#NO_APP
.section .text._ZNSt6vectorIiSaIiEED2Ev,"axG",@progbits,_ZNSt6vectorIiSaIiEED5Ev,comdat
.align 2
.p2align 4
.weak _ZNSt6vectorIiSaIiEED2Ev
.type _ZNSt6vectorIiSaIiEED2Ev, @function
_ZNSt6vectorIiSaIiEED2Ev:
.LFB2685:
.cfi_startproc
endbr64
mov rax, QWORD PTR [rdi]
test rax, rax
je .L1
mov rsi, QWORD PTR 16[rdi]
mov rdi, rax
sub rsi, rax
jmp _ZdlPvm@PLT
.p2align 4,,10
.p2align 3
.L1:
ret
.cfi_endproc
.LFE2685:
.size _ZNSt6vectorIiSaIiEED2Ev, .-_ZNSt6vectorIiSaIiEED2Ev
.weak _ZNSt6vectorIiSaIiEED1Ev
.set _ZNSt6vectorIiSaIiEED1Ev,_ZNSt6vectorIiSaIiEED2Ev
.section .text.unlikely,"ax",@progbits
.LCOLDB0:
.section .text.startup,"ax",@progbits
.LHOTB0:
.p2align 4
.globl main
.globl main
.type main, @function
.p2align 4, 0x90
main:
.type main,@function
.LFB2420:
main: # @main
.Lfunc_begin0:
.cfi_startproc
.cfi_startproc
.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
.cfi_personality 155, DW.ref.__gxx_personality_v0
.cfi_lsda 0x1b,.LLSDA2420
.cfi_lsda 27, .Lexception0
endbr64
# %bb.0:
push rbp
push r14
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
mov edi, 4194304
push rbx
push rbx
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
push rax
sub rsp, 56
.cfi_def_cfa_offset 32
.cfi_def_cfa_offset 80
.cfi_offset rbx, -24
mov rax, QWORD PTR fs:40
.cfi_offset r14, -16
mov QWORD PTR 40[rsp], rax
mov edi, 4194304
xor eax, eax
.LEHB0:
call _Znwm@PLT
call _Znwm@PLT
.LEHE0:
mov rbx, rax
xor r14d, r14d
mov edx, 4194304
mov rdi, rax
xor esi, esi
xor esi, esi
mov edx, 4194300
mov DWORD PTR [rax], 0
lea rbx, 4194304[rax]
lea rdi, 4[rax]
mov rbp, rax
mov QWORD PTR 16[rsp], rax
mov QWORD PTR 32[rsp], rbx
call memset@PLT
call memset@PLT
mov QWORD PTR 24[rsp], rbx
movdqa xmm0, xmmword ptr [rip + .LCPI0_0] # xmm0 = [0,1,2,3]
mov rsi, rbp
movdqa xmm1, xmmword ptr [rip + .LCPI0_1] # xmm1 = [23,23,23,23]
mov ecx, 23
movdqa xmm2, xmmword ptr [rip + .LCPI0_2] # xmm2 = [91,91,91,91]
movabs rdi, 4931307821684731621
movdqa xmm3, xmmword ptr [rip + .LCPI0_3] # xmm3 = [1148159575,1148159575,1148159575,1148159575]
.p2align 4,,10
movdqa xmm4, xmmword ptr [rip + .LCPI0_4] # xmm4 = [101,101,101,101]
.p2align 3
movdqa xmm5, xmmword ptr [rip + .LCPI0_5] # xmm5 = [8,8,8,8]
.L5:
.p2align 4, 0x90
mov rax, rcx
.LBB0_1: # =>This Inner Loop Header: Depth=1
add rsi, 4
movdqa xmm6, xmm0
mul rdi
pslld xmm6, 4
mov rax, rcx
paddd xmm6, xmm0
sub rax, rdx
movdqa xmm7, xmm6
shr rax
paddd xmm7, xmm1
add rdx, rax
paddd xmm6, xmm2
shr rdx, 6
movdqa xmm8, xmm7
lea rax, [rdx+rdx*4]
pmuludq xmm8, xmm3
lea rax, [rax+rax*4]
pshufd xmm8, xmm8, 237 # xmm8 = xmm8[1,3,2,3]
lea rdx, [rdx+rax*4]
pshufd xmm9, xmm7, 245 # xmm9 = xmm7[1,1,3,3]
mov rax, rcx
pmuludq xmm9, xmm3
add rcx, 17
pshufd xmm9, xmm9, 237 # xmm9 = xmm9[1,3,2,3]
sub rax, rdx
punpckldq xmm8, xmm9 # xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1]
mov DWORD PTR -4[rsi], eax
movdqa xmm9, xmm7
cmp rcx, 17825815
psubd xmm9, xmm8
jne .L5
psrld xmm9, 1
mov ecx, 32
paddd xmm9, xmm8
psrld xmm9, 6
pshufd xmm8, xmm9, 245 # xmm8 = xmm9[1,1,3,3]
pmuludq xmm9, xmm4
pshufd xmm9, xmm9, 232 # xmm9 = xmm9[0,2,2,3]
pmuludq xmm8, xmm4
pshufd xmm8, xmm8, 232 # xmm8 = xmm8[0,2,2,3]
punpckldq xmm9, xmm8 # xmm9 = xmm9[0],xmm8[0],xmm9[1],xmm8[1]
psubd xmm7, xmm9
movdqa xmm8, xmm6
pmuludq xmm8, xmm3
pshufd xmm8, xmm8, 237 # xmm8 = xmm8[1,3,2,3]
pshufd xmm9, xmm6, 245 # xmm9 = xmm6[1,1,3,3]
pmuludq xmm9, xmm3
pshufd xmm9, xmm9, 237 # xmm9 = xmm9[1,3,2,3]
punpckldq xmm8, xmm9 # xmm8 = xmm8[0],xmm9[0],xmm8[1],xmm9[1]
movdqa xmm9, xmm6
psubd xmm9, xmm8
psrld xmm9, 1
paddd xmm9, xmm8
psrld xmm9, 6
pshufd xmm8, xmm9, 245 # xmm8 = xmm9[1,1,3,3]
pmuludq xmm9, xmm4
pshufd xmm9, xmm9, 232 # xmm9 = xmm9[0,2,2,3]
pmuludq xmm8, xmm4
pshufd xmm8, xmm8, 232 # xmm8 = xmm8[0,2,2,3]
punpckldq xmm9, xmm8 # xmm9 = xmm9[0],xmm8[0],xmm9[1],xmm8[1]
psubd xmm6, xmm9
movdqu xmmword ptr [rbx + 4*r14], xmm7
movdqu xmmword ptr [rbx + 4*r14 + 16], xmm6
add r14, 8
paddd xmm0, xmm5
cmp r14, 1048576
jne .LBB0_1
# %bb.2:
xor eax, eax
xor esi, esi
xor esi, esi
.p2align 4,,10
jmp .LBB0_4
.p2align 3
.p2align 4, 0x90
.L10:
.LBB0_3: # in Loop: Header=BB0_4 Depth=1
mov rdx, rbp
inc eax
jmp .L9
cmp eax, 32
.p2align 4,,10
je .LBB0_12
.p2align 3
.LBB0_4: # =>This Loop Header: Depth=1
.L23:
# Child Loop BB0_8 Depth 2
cmp eax, 69
xor ecx, ecx
jle .L7
jmp .LBB0_8
sub rsi, rax
.p2align 4, 0x90
.L8:
.LBB0_5: # in Loop: Header=BB0_8 Depth=2
add rdx, 4
lea rdx, [rdx + 2*rdx]
cmp rdx, rbx
.LBB0_6: # in Loop: Header=BB0_8 Depth=2
je .L22
add rsi, rdx
.L9:
add rcx, 4
movsx rax, DWORD PTR [rdx]
cmp rcx, 4194304
cmp eax, 19
je .LBB0_3
jg .L23
.LBB0_8: # Parent Loop BB0_4 Depth=1
lea eax, [rax+rax*2]
# => This Inner Loop Header: Depth=2
add rdx, 4
movsxd rdx, dword ptr [rbx + rcx]
cdqe
cmp rdx, 19
add rsi, rax
jle .LBB0_5
cmp rdx, rbx
# %bb.9: # in Loop: Header=BB0_8 Depth=2
jne .L9
mov edi, edx
.L22:
cmp edi, 69
sub ecx, 1
ja .LBB0_11
jne .L10
# %bb.10: # in Loop: Header=BB0_8 Depth=2
lea rdi, _ZSt4cout[rip]
lea edx, [2*rdx - 7]
.LEHB1:
jmp .LBB0_6
.p2align 4, 0x90
.LBB0_11: # in Loop: Header=BB0_8 Depth=2
sub rsi, rdi
add rcx, 4
cmp rcx, 4194304
jne .LBB0_8
jmp .LBB0_3
.LBB0_12:
.Ltmp0:
mov rdi, qword ptr [rip + _ZSt4cout@GOTPCREL]
call _ZNSo9_M_insertIxEERSoT_@PLT
call _ZNSo9_M_insertIxEERSoT_@PLT
.Ltmp1:
# %bb.13:
mov byte ptr [rsp + 7], 10
mov rcx, qword ptr [rax]
mov rcx, qword ptr [rcx - 24]
cmp qword ptr [rax + rcx + 16], 0
je .LBB0_15
# %bb.14:
.Ltmp2:
lea rsi, [rsp + 7]
mov edx, 1
mov rdi, rax
mov rdi, rax
mov rax, QWORD PTR [rax]
call _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@PLT
mov BYTE PTR 15[rsp], 10
.Ltmp3:
mov rax, QWORD PTR -24[rax]
jmp .LBB0_16
cmp QWORD PTR 16[rdi+rax], 0
.LBB0_15:
jne .L24
.Ltmp4:
mov rdi, rax
mov esi, 10
mov esi, 10
call _ZNSo3putEc@PLT
call _ZNSo3putEc@PLT
.L12:
.Ltmp5:
lea rdi, 16[rsp]
.LBB0_16:
call _ZNSt6vectorIiSaIiEED1Ev
mov rdi, rbx
mov rax, QWORD PTR 40[rsp]
call _ZdlPv@PLT
sub rax, QWORD PTR fs:40
xor eax, eax
jne .L25
add rsp, 8
add rsp, 56
.cfi_remember_state
.cfi_def_cfa_offset 24
.cfi_def_cfa_offset 24
xor eax, eax
pop rbx
pop rbx
.cfi_def_cfa_offset 16
.cfi_def_cfa_offset 16
pop rbp
pop r14
.cfi_def_cfa_offset 8
.cfi_def_cfa_offset 8
ret
ret
.p2align 4,,10
.LBB0_17:
.p2align 3
.cfi_def_cfa_offset 32
.L7:
.Ltmp6:
.cfi_restore_state
mov r14, rax
lea eax, -7[rax+rax]
cdqe
add rsi, rax
jmp .L8
.L24:
lea rsi, 15[rsp]
mov edx, 1
call _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@PLT
.LEHE1:
jmp .L12
.L25:
call __stack_chk_fail@PLT
.L16:
endbr64
mov rbx, rax
jmp .L13
.globl __gxx_personality_v0
.section .gcc_except_table,"a",@progbits
.LLSDA2420:
.byte 0xff
.byte 0xff
.byte 0x1
.uleb128 .LLSDACSE2420-.LLSDACSB2420
.LLSDACSB2420:
.uleb128 .LEHB0-.LFB2420
.uleb128 .LEHE0-.LEHB0
.uleb128 0
.uleb128 0
.uleb128 .LEHB1-.LFB2420
.uleb128 .LEHE1-.LEHB1
.uleb128 .L16-.LFB2420
.uleb128 0
.LLSDACSE2420:
.section .text.startup
.cfi_endproc
.section .text.unlikely
.cfi_startproc
.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
.cfi_lsda 0x1b,.LLSDAC2420
.type main.cold, @function
main.cold:
.LFSB2420:
.L13:
.cfi_def_cfa_offset 80
.cfi_offset 3, -24
.cfi_offset 6, -16
lea rdi, 16[rsp]
call _ZNSt6vectorIiSaIiEED1Ev
mov rax, QWORD PTR 40[rsp]
sub rax, QWORD PTR fs:40
jne .L26
mov rdi, rbx
mov rdi, rbx
.LEHB2:
call _ZdlPv@PLT
mov rdi, r14
call _Unwind_Resume@PLT
call _Unwind_Resume@PLT
.LEHE2:
.Lfunc_end0:
.L26:
.size main, .Lfunc_end0-main
call __stack_chk_fail@PLT
.cfi_endproc
.cfi_endproc
.LFE2420:
.section .gcc_except_table,"a",@progbits
.section .gcc_except_table
.p2align 2, 0x0
.LLSDAC2420:
GCC_except_table0:
.byte 0xff
.Lexception0:
.byte 0xff
.byte 255 # @LPStart Encoding = omit
.byte 0x1
.byte 255 # @TType Encoding = omit
.uleb128 .LLSDACSEC2420-.LLSDACSBC2420
.byte 1 # Call site Encoding = uleb128
.LLSDACSBC2420:
.uleb128 .Lcst_end0-.Lcst_begin0
.uleb128 .LEHB2-.LCOLDB0
.Lcst_begin0:
.uleb128 .LEHE2-.LEHB2
.uleb128 .Lfunc_begin0-.Lfunc_begin0 # >> Call Site 1 <<
.uleb128 0
.uleb128 .Ltmp0-.Lfunc_begin0 # Call between .Lfunc_begin0 and .Ltmp0
.uleb128 0
.byte 0 # has no landing pad
.LLSDACSEC2420:
.byte 0 # On action: cleanup
.section .text.unlikely
.uleb128 .Ltmp0-.Lfunc_begin0 # >> Call Site 2 <<
.section .text.startup
.uleb128 .Ltmp5-.Ltmp0 # Call between .Ltmp0 and .Ltmp5
.size main, .-main
.uleb128 .Ltmp6-.Lfunc_begin0 # jumps to .Ltmp6
.section .text.unlikely
.byte 0 # On action: cleanup
.size main.cold, .-main.cold
.uleb128 .Ltmp5-.Lfunc_begin0 # >> Call Site 3 <<
.LCOLDE0:
.uleb128 .Lfunc_end0-.Ltmp5 # Call between .Ltmp5 and .Lfunc_end0
.section .text.startup
.byte 0 # has no landing pad
.LHOTE0:
.byte 0 # On action: cleanup
.Lcst_end0:
.p2align 2, 0x0
# -- End function
.hidden DW.ref.__gxx_personality_v0
.hidden DW.ref.__gxx_personality_v0
.weak DW.ref.__gxx_personality_v0
.weak DW.ref.__gxx_personality_v0
.section .data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
.section .data.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
.align 8
.p2align 3, 0x0
.type DW.ref.__gxx_personality_v0, @object
.type DW.ref.__gxx_personality_v0,@object
.size DW.ref.__gxx_personality_v0, 8
.size DW.ref.__gxx_personality_v0, 8
DW.ref.__gxx_personality_v0:
DW.ref.__gxx_personality_v0:
.quad __gxx_personality_v0
.quad __gxx_personality_v0
.ident "GCC: (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0"
.ident "Ubuntu clang version 18.1.3 (1ubuntu1)"
.section .note.GNU-stack,"",@progbits
.section ".note.GNU-stack","",@progbits
.section .note.gnu.property,"a"
.addrsig
.align 8
.addrsig_sym __gxx_personality_v0
.long 1f - 0f
.addrsig_sym _Unwind_Resume
.long 4f - 1f
.addrsig_sym _ZSt4cout
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4: