Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ g++ main.cpp -O3 -S -o -
- .file "main.cpp"
- .section .text.unlikely,"ax",@progbits
- .LCOLDB0:
- .text
- .LHOTB0:
- .p2align 4,,15
- .globl _Z12testFunctionPil
- .type _Z12testFunctionPil, @function
- _Z12testFunctionPil:
- .LFB0:
- .cfi_startproc
- testq %rsi, %rsi
- jle .L14
- movq %rdi, %rdx
- andl $15, %edx
- shrq $2, %rdx
- negq %rdx
- andl $3, %edx
- cmpq %rsi, %rdx
- cmova %rsi, %rdx
- cmpq $8, %rsi
- jg .L28
- movq %rsi, %rdx
- .L13:
- cmpq $1, %rdx
- movl (%rdi), %eax
- je .L16
- addl 4(%rdi), %eax
- cmpq $2, %rdx
- je .L17
- addl 8(%rdi), %eax
- cmpq $3, %rdx
- je .L18
- addl 12(%rdi), %eax
- cmpq $4, %rdx
- je .L19
- addl 16(%rdi), %eax
- cmpq $5, %rdx
- je .L20
- addl 20(%rdi), %eax
- cmpq $6, %rdx
- je .L21
- addl 24(%rdi), %eax
- cmpq $8, %rdx
- jne .L22
- addl 28(%rdi), %eax
- movl $8, %r8d
- .L5:
- cmpq %rdx, %rsi
- je .L29
- .L4:
- movq %rsi, %r10
- leaq -1(%rsi), %r9
- subq %rdx, %r10
- leaq -4(%r10), %rcx
- subq %rdx, %r9
- shrq $2, %rcx
- addq $1, %rcx
- cmpq $2, %r9
- leaq 0(,%rcx,4), %r11
- jbe .L7
- pxor %xmm0, %xmm0
- leaq (%rdi,%rdx,4), %r9
- xorl %edx, %edx
- .L8:
- addq $1, %rdx
- paddd (%r9), %xmm0
- addq $16, %r9
- cmpq %rdx, %rcx
- ja .L8
- movdqa %xmm0, %xmm1
- addq %r11, %r8
- psrldq $8, %xmm1
- paddd %xmm1, %xmm0
- movdqa %xmm0, %xmm1
- psrldq $4, %xmm1
- paddd %xmm1, %xmm0
- movd %xmm0, %edx
- addl %edx, %eax
- cmpq %r11, %r10
- je .L23
- .L7:
- leaq 1(%r8), %rcx
- addl (%rdi,%r8,4), %eax
- leaq 0(,%r8,4), %rdx
- cmpq %rcx, %rsi
- jle .L23
- addq $2, %r8
- addl 4(%rdi,%rdx), %eax
- cmpq %r8, %rsi
- jle .L30
- addl 8(%rdi,%rdx), %eax
- ret
- .p2align 4,,10
- .p2align 3
- .L23:
- rep ret
- .p2align 4,,10
- .p2align 3
- .L29:
- rep ret
- .p2align 4,,10
- .p2align 3
- .L28:
- testq %rdx, %rdx
- jne .L13
- xorl %r8d, %r8d
- xorl %eax, %eax
- jmp .L4
- .p2align 4,,10
- .p2align 3
- .L22:
- movl $7, %r8d
- jmp .L5
- .p2align 4,,10
- .p2align 3
- .L17:
- movl $2, %r8d
- jmp .L5
- .p2align 4,,10
- .p2align 3
- .L18:
- movl $3, %r8d
- jmp .L5
- .p2align 4,,10
- .p2align 3
- .L19:
- movl $4, %r8d
- jmp .L5
- .p2align 4,,10
- .p2align 3
- .L20:
- movl $5, %r8d
- jmp .L5
- .p2align 4,,10
- .p2align 3
- .L21:
- movl $6, %r8d
- jmp .L5
- .p2align 4,,10
- .p2align 3
- .L30:
- rep ret
- .p2align 4,,10
- .p2align 3
- .L14:
- xorl %eax, %eax
- ret
- .p2align 4,,10
- .p2align 3
- .L16:
- movl $1, %r8d
- jmp .L5
- .cfi_endproc
- .LFE0:
- .size _Z12testFunctionPil, .-_Z12testFunctionPil
- .section .text.unlikely
- .LCOLDE0:
- .text
- .LHOTE0:
- .section .text.unlikely
- .LCOLDB1:
- .section .text.startup,"ax",@progbits
- .LHOTB1:
- .p2align 4,,15
- .globl main
- .type main, @function
- main:
- .LFB1061:
- .cfi_startproc
- subq $8, %rsp
- .cfi_def_cfa_offset 16
- movl $4096, %edi
- call _Znam
- leaq 1(%rax), %rdx
- andl $15, %edx
- shrq $2, %rdx
- negq %rdx
- andl $3, %edx
- je .L39
- cmpq $1, %rdx
- movl 1(%rax), %esi
- je .L40
- addl 5(%rax), %esi
- cmpq $3, %rdx
- jne .L41
- addl 9(%rax), %esi
- movl $1020, %r9d
- movl $3, %edi
- .L33:
- movl $1023, %r8d
- subq %rdx, %r8
- .L32:
- pxor %xmm0, %xmm0
- leaq 1(%rax,%rdx,4), %rcx
- xorl %edx, %edx
- .p2align 4,,10
- .p2align 3
- .L34:
- addq $1, %rdx
- paddd (%rcx), %xmm0
- addq $16, %rcx
- cmpq $254, %rdx
- jbe .L34
- movdqa %xmm0, %xmm1
- leaq -1020(%r9), %rcx
- psrldq $8, %xmm1
- paddd %xmm1, %xmm0
- movdqa %xmm0, %xmm1
- psrldq $4, %xmm1
- paddd %xmm1, %xmm0
- movd %xmm0, %edx
- addl %edx, %esi
- cmpq $1020, %r8
- leaq 1020(%rdi), %rdx
- je .L37
- salq $2, %rdx
- addl 1(%rax,%rdx), %esi
- cmpq $1021, %r9
- je .L37
- addl 5(%rax,%rdx), %esi
- cmpq $2, %rcx
- je .L37
- addl 9(%rax,%rdx), %esi
- .L37:
- movl $_ZSt4cout, %edi
- call _ZNSolsEi
- xorl %eax, %eax
- addq $8, %rsp
- .cfi_remember_state
- .cfi_def_cfa_offset 8
- ret
- .L39:
- .cfi_restore_state
- movl $1023, %r8d
- movl $1023, %r9d
- xorl %esi, %esi
- xorl %edi, %edi
- jmp .L32
- .L41:
- movl $1021, %r9d
- movl $2, %edi
- jmp .L33
- .L40:
- movl $1022, %r9d
- movl $1, %edi
- jmp .L33
- .cfi_endproc
- .LFE1061:
- .size main, .-main
- .section .text.unlikely
- .LCOLDE1:
- .section .text.startup
- .LHOTE1:
- .section .text.unlikely
- .LCOLDB2:
- .section .text.startup
- .LHOTB2:
- .p2align 4,,15
- .type _GLOBAL__sub_I__Z12testFunctionPil, @function
- _GLOBAL__sub_I__Z12testFunctionPil:
- .LFB1063:
- .cfi_startproc
- subq $8, %rsp
- .cfi_def_cfa_offset 16
- movl $_ZStL8__ioinit, %edi
- call _ZNSt8ios_base4InitC1Ev
- movl $__dso_handle, %edx
- movl $_ZStL8__ioinit, %esi
- movl $_ZNSt8ios_base4InitD1Ev, %edi
- addq $8, %rsp
- .cfi_def_cfa_offset 8
- jmp __cxa_atexit
- .cfi_endproc
- .LFE1063:
- .size _GLOBAL__sub_I__Z12testFunctionPil, .-_GLOBAL__sub_I__Z12testFunctionPil
- .section .text.unlikely
- .LCOLDE2:
- .section .text.startup
- .LHOTE2:
- .section .init_array,"aw"
- .align 8
- .quad _GLOBAL__sub_I__Z12testFunctionPil
- .local _ZStL8__ioinit
- .comm _ZStL8__ioinit,1,1
- .hidden __dso_handle
- .ident "GCC: (Gentoo 4.9.2 p1.0, pie-0.6.1) 4.9.2"
- .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment