Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- G::~G() [base object destructor]:
- pushq %r12
- pushq %rbp
- pushq %rbx
- movq %rdi, %rbx
- movq 56(%rdi), %rdi
- testq %rdi, %rdi
- je .L2
- call operator delete(void*)
- .L2:
- movq 32(%rbx), %rdi
- testq %rdi, %rdi
- je .L3
- call operator delete(void*)
- .L3:
- movq 16(%rbx), %r12
- movq 8(%rbx), %rbp
- cmpq %rbp, %r12
- je .L4
- .L8:
- movq 0(%rbp), %rdi
- testq %rdi, %rdi
- je .L5
- call operator delete(void*)
- addq $24, %rbp
- cmpq %rbp, %r12
- jne .L8
- .L6:
- movq 8(%rbx), %rbp
- .L4:
- testq %rbp, %rbp
- je .L1
- popq %rbx
- movq %rbp, %rdi
- popq %rbp
- popq %r12
- jmp operator delete(void*)
- .L5:
- addq $24, %rbp
- cmpq %rbp, %r12
- jne .L8
- jmp .L6
- .L1:
- popq %rbx
- popq %rbp
- popq %r12
- ret
- .LC0:
- .string "vector::_M_fill_insert"
- .LC1:
- .string "vector<bool>::_M_fill_insert"
- G::make_nuance(int, int, std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >):
- pushq %r12
- movl %edx, %r12d
- pushq %rbp
- movq %rdi, %rbp
- addq $8, %rdi
- pushq %rbx
- movl %esi, %ebx
- movq %rcx, %rsi
- subq $16, %rsp
- call std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::operator=(std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > > const&)
- leal -1(%rbx), %edx
- movq 40(%rbp), %rsi
- movl %ebx, 0(%rbp)
- imull %r12d, %edx
- addl $1, %ebx
- movq %rsi, %rax
- movslq %ebx, %rbx
- addl $1, %edx
- movl %edx, 4(%rbp)
- movq 32(%rbp), %rdx
- subq %rdx, %rax
- sarq $2, %rax
- cmpq %rax, %rbx
- ja .L369
- jnb .L363
- leaq (%rdx,%rbx,4), %rax
- cmpq %rax, %rsi
- je .L363
- movq %rax, 40(%rbp)
- .L363:
- movq 72(%rbp), %rsi
- movq 56(%rbp), %rdx
- movl 80(%rbp), %eax
- movq %rsi, %rdi
- subq %rdx, %rdi
- movq %rax, %rcx
- leaq (%rax,%rdi,8), %rax
- cmpq %rax, %rbx
- jnb .L364
- testq %rbx, %rbx
- leaq 63(%rbx), %rax
- cmovns %rbx, %rax
- sarq $6, %rax
- leaq (%rdx,%rax,8), %rdx
- movq %rbx, %rax
- sarq $63, %rax
- shrq $58, %rax
- addq %rax, %rbx
- andl $63, %ebx
- subq %rax, %rbx
- js .L370
- movl %ebx, 80(%rbp)
- movq %rdx, 72(%rbp)
- addq $16, %rsp
- popq %rbx
- popq %rbp
- popq %r12
- ret
- .L370:
- addq $64, %rbx
- subq $8, %rdx
- movl %ebx, 80(%rbp)
- movq %rdx, 72(%rbp)
- addq $16, %rsp
- popq %rbx
- popq %rbp
- popq %r12
- ret
- .L369:
- movq %rbx, %rdx
- leaq 4(%rbp), %rcx
- leaq 32(%rbp), %rdi
- subq %rax, %rdx
- call std::vector<int, std::allocator<int> >::_M_fill_insert(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, unsigned long, int const&)
- jmp .L363
- .L364:
- movl %ecx, 8(%rsp)
- movq %rbx, %rcx
- movq 8(%rsp), %rdx
- addq $16, %rsp
- popq %rbx
- leaq 56(%rbp), %rdi
- subq %rax, %rcx
- popq %rbp
- xorl %r8d, %r8d
- popq %r12
- jmp std::vector<bool, std::allocator<bool> >::_M_fill_insert(std::_Bit_iterator, unsigned long, bool)
- .LC2:
- .string "vector::_M_realloc_insert"
- main:
- pushq %r15
- movl $_ZSt3cin, %edi
- pushq %r14
- pushq %r13
- pushq %r12
- pushq %rbp
- pushq %rbx
- subq $216, %rsp
- leaq 32(%rsp), %rsi
- call std::basic_istream<char, std::char_traits<char> >::operator>>(int&)
- leaq 36(%rsp), %rsi
- movq %rax, %rdi
- call std::basic_istream<char, std::char_traits<char> >::operator>>(int&)
- leaq 40(%rsp), %rsi
- movq %rax, %rdi
- call std::basic_istream<char, std::char_traits<char> >::operator>>(int&)
- movl 32(%rsp), %eax
- pxor %xmm0, %xmm0
- movq $0, 168(%rsp)
- movl $0, 176(%rsp)
- imull %eax, %eax
- movq $0, 184(%rsp)
- movl $0, 192(%rsp)
- movq $0, 200(%rsp)
- leal 1(%rax), %ebx
- movups %xmm0, 120(%rsp)
- movslq %ebx, %rbx
- movups %xmm0, 136(%rsp)
- leaq (%rbx,%rbx,2), %rbp
- movups %xmm0, 152(%rsp)
- salq $3, %rbp
- movaps %xmm0, 48(%rsp)
- movq $0, 64(%rsp)
- movq %rbp, %rdi
- call operator new(unsigned long)
- addq %rax, %rbp
- leaq -1(%rbx), %rdx
- movq %rax, 48(%rsp)
- movq %rbp, 64(%rsp)
- cmpq $2, %rdx
- jbe .L372
- movq %rbx, %rsi
- movq %rbx, %rcx
- pxor %xmm0, %xmm0
- movq %rax, %rdx
- shrq %rsi
- andq $-2, %rcx
- addq %rsi, %rcx
- salq $4, %rcx
- addq %rax, %rcx
- .L373:
- movups %xmm0, (%rdx)
- addq $48, %rdx
- movups %xmm0, -32(%rdx)
- movups %xmm0, -16(%rdx)
- cmpq %rcx, %rdx
- jne .L373
- movq %rbx, %rdx
- movq %rbx, %rsi
- andq $-2, %rdx
- andl $1, %esi
- leaq (%rdx,%rdx,2), %rcx
- leaq (%rax,%rcx,8), %rax
- cmpq %rdx, %rbx
- je .L374
- movq %rsi, %rbx
- leaq -1(%rsi), %rdx
- .L372:
- pxor %xmm0, %xmm0
- movq $0, 16(%rax)
- movups %xmm0, (%rax)
- testq %rdx, %rdx
- je .L374
- movq $0, 40(%rax)
- movups %xmm0, 24(%rax)
- cmpq $2, %rbx
- je .L374
- movq $0, 64(%rax)
- movups %xmm0, 48(%rax)
- .L374:
- movl 32(%rsp), %eax
- movq %rbp, 56(%rsp)
- testl %eax, %eax
- jle .L424
- movq $24, (%rsp)
- xorl %r12d, %r12d
- movl $1, 12(%rsp)
- .L388:
- movl $1, %ebx
- jmp .L387
- .L376:
- movl 32(%rsp), %eax
- addl $1, %ebx
- cmpl %ebx, %eax
- jl .L478
- .L387:
- leaq 44(%rsp), %rsi
- movl $_ZSt3cin, %edi
- leaq 112(%rsp), %r13
- call std::basic_istream<char, std::char_traits<char> >::operator>>(int&)
- movl 44(%rsp), %edx
- cmpl %edx, %r12d
- leal 1(%rdx), %eax
- cmovl %edx, %r12d
- cmpl $1, %eax
- jbe .L376
- movq (%rsp), %r15
- addq 48(%rsp), %r15
- movq 8(%r15), %rbp
- cmpq 16(%r15), %rbp
- je .L377
- movl 32(%rsp), %eax
- movl %ebx, 0(%rbp)
- addq $8, %rbp
- addl $1, %ebx
- movl %edx, -4(%rbp)
- movq %rbp, 8(%r15)
- cmpl %ebx, %eax
- jge .L387
- .L478:
- addl $1, 12(%rsp)
- movl 12(%rsp), %edi
- addq $24, (%rsp)
- cmpl %edi, %eax
- jge .L388
- .L375:
- movq 56(%rsp), %r14
- pxor %xmm0, %xmm0
- movabsq $-6148914691236517205, %rdx
- movq $0, 96(%rsp)
- movaps %xmm0, 80(%rsp)
- movq %r14, %rbx
- subq 48(%rsp), %rbx
- movq %rbx, %rax
- sarq $3, %rax
- imulq %rdx, %rax
- testq %rax, %rax
- je .L479
- movabsq $384307168202282325, %rdx
- leaq 112(%rsp), %r13
- cmpq %rdx, %rax
- ja .L480
- movq %rbx, %rdi
- call operator new(unsigned long)
- movq %rax, (%rsp)
- movq 56(%rsp), %r14
- .L390:
- movq (%rsp), %r13
- movq 48(%rsp), %rbp
- movq %r13, %xmm0
- addq %r13, %rbx
- punpcklqdq %xmm0, %xmm0
- movq %rbx, 96(%rsp)
- movaps %xmm0, 80(%rsp)
- cmpq %rbp, %r14
- je .L429
- movabsq $2305843009213693950, %r15
- .L401:
- movq 8(%rbp), %rbx
- subq 0(%rbp), %rbx
- pxor %xmm3, %xmm3
- movq $0, 16(%r13)
- movq %rbx, %rax
- movups %xmm3, 0(%r13)
- sarq $3, %rax
- je .L481
- movabsq $1152921504606846975, %rdi
- cmpq %rdi, %rax
- ja .L482
- movq %rbx, %rdi
- call operator new(unsigned long)
- .L394:
- movq %rax, %xmm0
- addq %rax, %rbx
- punpcklqdq %xmm0, %xmm0
- movq %rbx, 16(%r13)
- movups %xmm0, 0(%r13)
- movq 8(%rbp), %rsi
- movq 0(%rbp), %rcx
- cmpq %rcx, %rsi
- je .L396
- leaq -8(%rsi), %rdi
- leaq 15(%rcx), %r9
- movq %rcx, %rdx
- subq %rcx, %rdi
- subq %rax, %r9
- movq %rdi, %r8
- shrq $3, %r8
- cmpq $30, %r9
- jbe .L430
- testq %r15, %r8
- je .L430
- addq $1, %r8
- xorl %edx, %edx
- movq %r8, %rsi
- shrq %rsi
- salq $4, %rsi
- .L398:
- movdqu (%rcx,%rdx), %xmm1
- movups %xmm1, (%rax,%rdx)
- addq $16, %rdx
- cmpq %rsi, %rdx
- jne .L398
- movq %r8, %rdx
- andq $-2, %rdx
- leaq 0(,%rdx,8), %rsi
- addq %rsi, %rcx
- addq %rax, %rsi
- cmpq %r8, %rdx
- je .L400
- movq (%rcx), %rdx
- movq %rdx, (%rsi)
- .L400:
- leaq 8(%rax,%rdi), %rax
- .L396:
- addq $24, %rbp
- movq %rax, 8(%r13)
- addq $24, %r13
- cmpq %rbp, %r14
- jne .L401
- .L392:
- movq %r13, 88(%rsp)
- movl 32(%rsp), %esi
- leaq 112(%rsp), %r13
- movl %r12d, %edx
- leaq 80(%rsp), %rcx
- movq %r13, %rdi
- call G::make_nuance(int, int, std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >)
- leaq 80(%rsp), %rdi
- call std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::~vector() [complete object destructor]
- movslq 36(%rsp), %rax
- movslq 40(%rsp), %rbx
- movq 144(%rsp), %rsi
- movl $0, (%rsi,%rax,4)
- movl 112(%rsp), %edi
- testl %edi, %edi
- jle .L415
- movl %ebx, (%rsp)
- movq 120(%rsp), %r11
- movl $1, %r10d
- movl $1, %r9d
- movq 168(%rsp), %r8
- movl 116(%rsp), %r14d
- .L420:
- movl $1, %ecx
- movl $-1, %eax
- jmp .L414
- .L484:
- movslq %eax, %rdx
- movl (%rsi,%rdx,4), %edx
- cmpl %edx, (%rsi,%rcx,4)
- cmovl %ecx, %eax
- .L413:
- addq $1, %rcx
- cmpl %ecx, %edi
- jl .L483
- .L414:
- movq %rcx, %rdx
- movq %r9, %rbp
- shrq $6, %rdx
- salq %cl, %rbp
- testq %rbp, (%r8,%rdx,8)
- jne .L413
- cmpl $-1, %eax
- jne .L484
- movl %ecx, %eax
- addq $1, %rcx
- cmpl %ecx, %edi
- jge .L414
- .L483:
- movslq %eax, %r12
- leaq (%rsi,%r12,4), %rbp
- movl 0(%rbp), %edx
- cmpl %r14d, %edx
- je .L476
- movl %eax, %ecx
- movq %r9, %rbx
- leaq (%r12,%r12,2), %rax
- movq %r12, %r15
- salq %cl, %rbx
- leaq (%r11,%rax,8), %rcx
- shrq $6, %r15
- movq (%rcx), %rax
- movq 8(%rcx), %r12
- orq %rbx, (%r8,%r15,8)
- cmpq %r12, %rax
- jne .L419
- jmp .L416
- .L418:
- movl 0(%rbp), %edx
- .L419:
- movl 4(%rax), %ecx
- addl %edx, %ecx
- movslq (%rax), %rdx
- leaq (%rsi,%rdx,4), %rdx
- cmpl (%rdx), %ecx
- jge .L417
- movl %ecx, (%rdx)
- .L417:
- addq $8, %rax
- cmpq %rax, %r12
- jne .L418
- movl 116(%rsp), %r14d
- movl 112(%rsp), %edi
- .L416:
- addl $1, %r10d
- cmpl %r10d, %edi
- jge .L420
- .L476:
- movslq (%rsp), %rbx
- .L415:
- movl (%rsi,%rbx,4), %esi
- cmpl 116(%rsp), %esi
- je .L485
- movl $_ZSt4cout, %edi
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(int)
- .L421:
- leaq 48(%rsp), %rdi
- call std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::~vector() [complete object destructor]
- movq %r13, %rdi
- call G::~G() [complete object destructor]
- addq $216, %rsp
- xorl %eax, %eax
- popq %rbx
- popq %rbp
- popq %r12
- popq %r13
- popq %r14
- popq %r15
- ret
- .L377:
- movabsq $1152921504606846975, %rdi
- movq (%r15), %r14
- movq %rbp, %rax
- subq %r14, %rax
- movq %rax, 24(%rsp)
- sarq $3, %rax
- cmpq %rdi, %rax
- je .L486
- testq %rax, %rax
- je .L425
- movabsq $9223372036854775800, %rdi
- leaq (%rax,%rax), %rcx
- movq %rdi, 16(%rsp)
- cmpq %rcx, %rax
- jbe .L487
- .L379:
- movq 16(%rsp), %rdi
- leaq 112(%rsp), %r13
- call operator new(unsigned long)
- movq 16(%rsp), %r8
- movl 44(%rsp), %edx
- movq %rax, %r13
- addq %rax, %r8
- leaq 8(%rax), %rax
- .L380:
- movq 24(%rsp), %rcx
- addq %r13, %rcx
- movl %ebx, (%rcx)
- movl %edx, 4(%rcx)
- cmpq %r14, %rbp
- je .L381
- leaq -8(%rbp), %rcx
- leaq 15(%r14), %rax
- subq %r14, %rcx
- subq %r13, %rax
- movq %rcx, %rsi
- shrq $3, %rsi
- cmpq $30, %rax
- jbe .L428
- movabsq $2305843009213693950, %rax
- testq %rax, %rsi
- je .L428
- addq $1, %rsi
- xorl %edx, %edx
- movq %rsi, %rax
- shrq %rax
- salq $4, %rax
- .L383:
- movdqu (%r14,%rdx), %xmm2
- movups %xmm2, 0(%r13,%rdx)
- addq $16, %rdx
- cmpq %rdx, %rax
- jne .L383
- movq %rsi, %rdi
- andq $-2, %rdi
- leaq 0(,%rdi,8), %rdx
- leaq (%r14,%rdx), %rax
- addq %r13, %rdx
- cmpq %rdi, %rsi
- je .L385
- movq (%rax), %rax
- movq %rax, (%rdx)
- .L385:
- leaq 16(%r13,%rcx), %rax
- .L381:
- testq %r14, %r14
- je .L386
- movq %r14, %rdi
- movq %rax, 24(%rsp)
- movq %r8, 16(%rsp)
- call operator delete(void*)
- movq 24(%rsp), %rax
- movq 16(%rsp), %r8
- .L386:
- movq %r13, %xmm0
- movq %rax, %xmm4
- movq %r8, 16(%r15)
- punpcklqdq %xmm4, %xmm0
- movups %xmm0, (%r15)
- jmp .L376
- .L481:
- xorl %eax, %eax
- jmp .L394
- .L487:
- testq %rcx, %rcx
- jne .L488
- movl $8, %eax
- xorl %r8d, %r8d
- xorl %r13d, %r13d
- jmp .L380
- .L425:
- movq $8, 16(%rsp)
- jmp .L379
- .L430:
- movq %rax, %rcx
- .L397:
- movl (%rdx), %r9d
- movl 4(%rdx), %r8d
- addq $8, %rdx
- addq $8, %rcx
- movl %r9d, -8(%rcx)
- movl %r8d, -4(%rcx)
- cmpq %rdx, %rsi
- jne .L397
- jmp .L400
- .L428:
- movq %r13, %rdx
- movq %r14, %rax
- .L382:
- movl (%rax), %edi
- movl 4(%rax), %esi
- addq $8, %rax
- addq $8, %rdx
- movl %edi, -8(%rdx)
- movl %esi, -4(%rdx)
- cmpq %rbp, %rax
- jne .L382
- jmp .L385
- .L485:
- orl $-1, %esi
- movl $_ZSt4cout, %edi
- call std::basic_ostream<char, std::char_traits<char> >::operator<<(int)
- jmp .L421
- .L479:
- movq $0, (%rsp)
- jmp .L390
- .L429:
- movq (%rsp), %r13
- jmp .L392
- .L424:
- xorl %r12d, %r12d
- jmp .L375
- .L480:
- call std::__throw_bad_alloc()
- .L482:
- call std::__throw_bad_alloc()
- .L488:
- movabsq $1152921504606846975, %rax
- cmpq %rax, %rcx
- cmova %rax, %rcx
- leaq 0(,%rcx,8), %rax
- movq %rax, 16(%rsp)
- jmp .L379
- .L486:
- movl $.LC2, %edi
- leaq 112(%rsp), %r13
- call std::__throw_length_error(char const*)
- movq %rax, %rbx
- jmp .L422
- movq %rax, %rbx
- leaq 112(%rsp), %r13
- jmp .L423
- movq %rax, %rdi
- jmp .L403
- movq %rax, %rbx
- jmp .L409
- main.cold:
- .L422:
- leaq 80(%rsp), %rdi
- call std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::~vector() [complete object destructor]
- .L409:
- leaq 48(%rsp), %rdi
- call std::vector<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >, std::allocator<std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > > > >::~vector() [complete object destructor]
- .L423:
- movq %r13, %rdi
- call G::~G() [complete object destructor]
- movq %rbx, %rdi
- call _Unwind_Resume
- .L403:
- call __cxa_begin_catch
- movq (%rsp), %rbx
- .L406:
- cmpq %rbx, %r13
- jne .L489
- call __cxa_rethrow
- .L489:
- movq (%rbx), %rdi
- testq %rdi, %rdi
- je .L405
- call operator delete(void*)
- .L405:
- addq $24, %rbx
- jmp .L406
- movq %rax, %rbx
- call __cxa_end_catch
- movq 80(%rsp), %rdi
- testq %rdi, %rdi
- je .L408
- call operator delete(void*)
- .L408:
- leaq 112(%rsp), %r13
- jmp .L409
- _GLOBAL__sub_I_main:
- subq $8, %rsp
- movl $_ZStL8__ioinit, %edi
- call std::ios_base::Init::Init() [complete object constructor]
- movl $__dso_handle, %edx
- movl $_ZStL8__ioinit, %esi
- movl $_ZNSt8ios_base4InitD1Ev, %edi
- addq $8, %rsp
- jmp __cxa_atexit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement