Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==> powersoftwo-1-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- jmp L8
- .align 4,0x90
- L10:
- cmpl $1, %edi
- jbe L2
- shrl %edi
- L8:
- testb $1, %dil
- je L10
- L2:
- xorl %eax, %eax
- cmpl $1, %edi
- sete %al
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbx
- LCFI0:
- subq $16, %rsp
- LCFI1:
- call _mach_absolute_time
- xorl %edx, %edx
- xorl %esi, %esi
- movq %rax, %rbx
- xorl %eax, %eax
- .align 4
- L24:
- cmpl $1, %eax
- sete %al
- addl $1, %edx
- movzbl %al, %eax
- addl %eax, %esi
- cmpl $-1, %edx
- je L15
- testb $1, %dl
- jne L19
- cmpl $1, %edx
- movl %edx, %eax
- jbe L19
- .align 4
- L21:
- shrl %eax
- testb $1, %al
- jne L24
- cmpl $1, %eax
- ja L21
- .p2align 4,,4
- jmp L24
- .align 4
- L19:
- movl %edx, %eax
- jmp L24
- L15:
- movl %esi, 8(%rsp)
- .p2align 4,,5
- call _mach_absolute_time
- movl 8(%rsp), %esi
- leaq LC0(%rip), %rdi
- subq %rbx, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $16, %rsp
- LCFI2:
- xorl %eax, %eax
- popq %rbx
- LCFI3:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x83
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-2-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- leal -1(%rdi), %eax
- cmpl $1, %eax
- jbe L16
- cmpl $4, %edi
- je L16
- cmpl $16, %edi
- je L16
- cmpl $8, %edi
- .p2align 4,,2
- je L16
- cmpl $64, %edi
- .p2align 4,,2
- je L16
- cmpl $32, %edi
- .p2align 4,,2
- je L16
- cmpl $256, %edi
- je L16
- cmpl $128, %edi
- je L16
- cmpl $1024, %edi
- je L16
- cmpl $512, %edi
- je L16
- cmpl $4096, %edi
- je L16
- cmpl $2048, %edi
- je L16
- cmpl $16384, %edi
- je L16
- cmpl $8192, %edi
- je L16
- cmpl $65536, %edi
- je L16
- cmpl $32768, %edi
- je L16
- cmpl $262144, %edi
- je L16
- cmpl $131072, %edi
- je L16
- cmpl $1048576, %edi
- je L16
- cmpl $524288, %edi
- je L16
- cmpl $4194304, %edi
- je L16
- cmpl $2097152, %edi
- je L16
- cmpl $16777216, %edi
- je L16
- cmpl $8388608, %edi
- je L16
- cmpl $67108864, %edi
- je L16
- cmpl $33554432, %edi
- je L16
- cmpl $268435456, %edi
- je L16
- cmpl $134217728, %edi
- je L16
- cmpl $1073741824, %edi
- je L17
- cmpl $536870912, %edi
- je L17
- xorl %eax, %eax
- cmpl $-2147483648, %edi
- sete %al
- ret
- .align 4,0x90
- L16:
- movl $1, %eax
- ret
- L17:
- movl $1, %eax
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %r12
- LCFI0:
- pushq %rbp
- LCFI1:
- xorl %ebp, %ebp
- pushq %rbx
- LCFI2:
- xorl %ebx, %ebx
- call _mach_absolute_time
- movq %rax, %r12
- .align 4
- L20:
- movl %ebp, %edi
- call _isPowerOfTwo
- testl %eax, %eax
- setne %al
- addl $1, %ebp
- movzbl %al, %eax
- addl %eax, %ebx
- cmpl $-1, %ebp
- jne L20
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %r12, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- popq %rbx
- LCFI3:
- xorl %eax, %eax
- popq %rbp
- LCFI4:
- popq %r12
- LCFI5:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x8c
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x18
- .byte 0x86
- .byte 0x3
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x20
- .byte 0x83
- .byte 0x4
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-3-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- cmpl $1, %edi
- movl $1, %eax
- ja L3
- jmp L2
- .align 4,0x90
- L8:
- cmpl %eax, %edi
- jbe L2
- L3:
- addl %eax, %eax
- .p2align 4,,7
- jns L8
- L2:
- cmpl %eax, %edi
- sete %al
- movzbl %al, %eax
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbx
- LCFI0:
- subq $16, %rsp
- LCFI1:
- call _mach_absolute_time
- xorl %edx, %edx
- xorl %esi, %esi
- movq %rax, %rbx
- movl $1, %eax
- .align 4
- L20:
- cmpl %eax, %edx
- sete %al
- addl $1, %edx
- movzbl %al, %eax
- addl %eax, %esi
- cmpl $-1, %edx
- je L13
- cmpl $1, %edx
- movl $1, %eax
- jbe L20
- .align 4
- L17:
- addl %eax, %eax
- js L20
- cmpl %eax, %edx
- ja L17
- .p2align 4,,7
- jmp L20
- L13:
- movl %esi, 8(%rsp)
- .p2align 4,,5
- call _mach_absolute_time
- movl 8(%rsp), %esi
- leaq LC0(%rip), %rdi
- subq %rbx, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $16, %rsp
- LCFI2:
- xorl %eax, %eax
- popq %rbx
- LCFI3:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x83
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-4-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- subq $16, %rsp
- LCFI0:
- cmpl $1, %edi
- movl $1, %ecx
- movdqa LC0(%rip), %xmm0
- movdqa %xmm0, -120(%rsp)
- movdqa LC1(%rip), %xmm0
- movdqa %xmm0, -104(%rsp)
- movdqa LC2(%rip), %xmm0
- movdqa %xmm0, -88(%rsp)
- movdqa LC3(%rip), %xmm0
- movdqa %xmm0, -72(%rsp)
- movdqa LC4(%rip), %xmm0
- movdqa %xmm0, -56(%rsp)
- movdqa LC5(%rip), %xmm0
- movdqa %xmm0, -40(%rsp)
- movdqa LC6(%rip), %xmm0
- movdqa %xmm0, -24(%rsp)
- movdqa LC7(%rip), %xmm0
- movdqa %xmm0, -8(%rsp)
- jbe L2
- leaq -116(%rsp), %rax
- xorl %edx, %edx
- jmp L3
- .align 4,0x90
- L8:
- cmpl $30, %edx
- jg L2
- L3:
- movl (%rax), %ecx
- addl $1, %edx
- addq $4, %rax
- cmpl %edi, %ecx
- jb L8
- L2:
- xorl %eax, %eax
- cmpl %ecx, %edi
- sete %al
- addq $16, %rsp
- LCFI1:
- ret
- LFE16:
- .cstring
- .align 3
- LC8:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %r12
- LCFI2:
- pushq %rbp
- LCFI3:
- xorl %ebp, %ebp
- pushq %rbx
- LCFI4:
- xorl %ebx, %ebx
- call _mach_absolute_time
- movq %rax, %r12
- .align 4
- L10:
- movl %ebp, %edi
- call _isPowerOfTwo
- testl %eax, %eax
- setne %al
- addl $1, %ebp
- movzbl %al, %eax
- addl %eax, %ebx
- cmpl $-1, %ebp
- jne L10
- call _mach_absolute_time
- leaq LC8(%rip), %rdi
- movl %ebx, %esi
- subq %r12, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- popq %rbx
- LCFI5:
- xorl %eax, %eax
- popq %rbp
- LCFI6:
- popq %r12
- LCFI7:
- ret
- LFE17:
- .literal16
- .align 4
- LC0:
- .long 1
- .long 2
- .long 4
- .long 8
- .align 4
- LC1:
- .long 16
- .long 32
- .long 64
- .long 128
- .align 4
- LC2:
- .long 256
- .long 512
- .long 1024
- .long 2048
- .align 4
- LC3:
- .long 4096
- .long 8192
- .long 16384
- .long 32768
- .align 4
- LC4:
- .long 65536
- .long 131072
- .long 262144
- .long 524288
- .align 4
- LC5:
- .long 1048576
- .long 2097152
- .long 4194304
- .long 8388608
- .align 4
- LC6:
- .long 16777216
- .long 33554432
- .long 67108864
- .long 134217728
- .align 4
- LC7:
- .long 268435456
- .long 536870912
- .long 1073741824
- .long -2147483648
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .byte 0x4
- .set L$set$3,LCFI0-LFB16
- .long L$set$3
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$4,LCFI1-LCFI0
- .long L$set$4
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$5,LEFDE3-LASFDE3
- .long L$set$5
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$6,LFE17-LFB17
- .quad L$set$6
- .byte 0
- .byte 0x4
- .set L$set$7,LCFI2-LFB17
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x8c
- .byte 0x2
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x86
- .byte 0x3
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x20
- .byte 0x83
- .byte 0x4
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$11,LCFI6-LCFI5
- .long L$set$11
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$12,LCFI7-LCFI6
- .long L$set$12
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-5-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- subq $16, %rsp
- LCFI0:
- xorl %eax, %eax
- testl %edi, %edi
- movdqa LC0(%rip), %xmm0
- movdqa %xmm0, -120(%rsp)
- movdqa LC1(%rip), %xmm0
- movdqa %xmm0, -104(%rsp)
- movdqa LC2(%rip), %xmm0
- movdqa %xmm0, -88(%rsp)
- movdqa LC3(%rip), %xmm0
- movdqa %xmm0, -72(%rsp)
- movdqa LC4(%rip), %xmm0
- movdqa %xmm0, -56(%rsp)
- movdqa LC5(%rip), %xmm0
- movdqa %xmm0, -40(%rsp)
- movdqa LC6(%rip), %xmm0
- movdqa %xmm0, -24(%rsp)
- movdqa LC7(%rip), %xmm0
- movdqa %xmm0, -8(%rsp)
- je L4
- cmpl $1, %edi
- movb $1, %al
- je L4
- cmpl $65536, %edi
- movl $65536, %esi
- je L5
- movl $16, %edx
- movb $16, %al
- jmp L8
- .align 4,0x90
- L14:
- cmpl $1, %eax
- jle L5
- L8:
- movl %eax, %ecx
- movl %edx, %r8d
- shrl $31, %ecx
- addl %eax, %ecx
- sarl %eax
- sarl %ecx
- addl %eax, %edx
- subl %ecx, %r8d
- cmpl %esi, %edi
- cmovb %r8d, %edx
- movslq %edx, %rcx
- movl -120(%rsp,%rcx,4), %esi
- cmpl %edi, %esi
- jne L14
- L5:
- xorl %eax, %eax
- cmpl %esi, %edi
- sete %al
- L4:
- addq $16, %rsp
- LCFI1:
- ret
- LFE16:
- .cstring
- .align 3
- LC8:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %r12
- LCFI2:
- pushq %rbp
- LCFI3:
- xorl %ebp, %ebp
- pushq %rbx
- LCFI4:
- xorl %ebx, %ebx
- call _mach_absolute_time
- movq %rax, %r12
- .align 4
- L16:
- movl %ebp, %edi
- call _isPowerOfTwo
- testl %eax, %eax
- setne %al
- addl $1, %ebp
- movzbl %al, %eax
- addl %eax, %ebx
- cmpl $-1, %ebp
- jne L16
- call _mach_absolute_time
- leaq LC8(%rip), %rdi
- movl %ebx, %esi
- subq %r12, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- popq %rbx
- LCFI5:
- xorl %eax, %eax
- popq %rbp
- LCFI6:
- popq %r12
- LCFI7:
- ret
- LFE17:
- .literal16
- .align 4
- LC0:
- .long 1
- .long 2
- .long 4
- .long 8
- .align 4
- LC1:
- .long 16
- .long 32
- .long 64
- .long 128
- .align 4
- LC2:
- .long 256
- .long 512
- .long 1024
- .long 2048
- .align 4
- LC3:
- .long 4096
- .long 8192
- .long 16384
- .long 32768
- .align 4
- LC4:
- .long 65536
- .long 131072
- .long 262144
- .long 524288
- .align 4
- LC5:
- .long 1048576
- .long 2097152
- .long 4194304
- .long 8388608
- .align 4
- LC6:
- .long 16777216
- .long 33554432
- .long 67108864
- .long 134217728
- .align 4
- LC7:
- .long 268435456
- .long 536870912
- .long 1073741824
- .long -2147483648
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .byte 0x4
- .set L$set$3,LCFI0-LFB16
- .long L$set$3
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$4,LCFI1-LCFI0
- .long L$set$4
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$5,LEFDE3-LASFDE3
- .long L$set$5
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$6,LFE17-LFB17
- .quad L$set$6
- .byte 0
- .byte 0x4
- .set L$set$7,LCFI2-LFB17
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x8c
- .byte 0x2
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x86
- .byte 0x3
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x20
- .byte 0x83
- .byte 0x4
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$11,LCFI6-LCFI5
- .long L$set$11
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$12,LCFI7-LCFI6
- .long L$set$12
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-6-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- pushq %rbx
- LCFI0:
- movl %edi, %edx
- xorl %eax, %eax
- addq $-128, %rsp
- LCFI1:
- subl $1, %edx
- movl %edi, %ebx
- movdqa LC0(%rip), %xmm0
- movdqa %xmm0, (%rsp)
- movdqa LC1(%rip), %xmm0
- movdqa %xmm0, 16(%rsp)
- movdqa LC2(%rip), %xmm0
- movdqa %xmm0, 32(%rsp)
- movdqa LC3(%rip), %xmm0
- movdqa %xmm0, 48(%rsp)
- movdqa LC4(%rip), %xmm0
- movdqa %xmm0, 64(%rsp)
- movdqa LC5(%rip), %xmm0
- movdqa %xmm0, 80(%rsp)
- movdqa LC6(%rip), %xmm0
- movdqa %xmm0, 96(%rsp)
- movdqa LC7(%rip), %xmm0
- movdqa %xmm0, 112(%rsp)
- js L2
- mov %edi, %eax
- cvtsi2sdq %rax, %xmm0
- call _log
- movl $1, %eax
- divsd LC8(%rip), %xmm0
- cvttsd2si %xmm0, %edx
- movslq %edx, %rcx
- cmpl %ebx, (%rsp,%rcx,4)
- je L2
- addl $1, %edx
- xorl %eax, %eax
- movslq %edx, %rdx
- cmpl (%rsp,%rdx,4), %ebx
- sete %al
- L2:
- subq $-128, %rsp
- LCFI2:
- popq %rbx
- LCFI3:
- ret
- LFE16:
- .cstring
- .align 3
- LC9:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %r12
- LCFI4:
- pushq %rbp
- LCFI5:
- xorl %ebp, %ebp
- pushq %rbx
- LCFI6:
- xorl %ebx, %ebx
- call _mach_absolute_time
- movq %rax, %r12
- .align 4
- L10:
- movl %ebp, %edi
- call _isPowerOfTwo
- testl %eax, %eax
- setne %al
- addl $1, %ebp
- movzbl %al, %eax
- addl %eax, %ebx
- cmpl $-1, %ebp
- jne L10
- call _mach_absolute_time
- leaq LC9(%rip), %rdi
- movl %ebx, %esi
- subq %r12, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- popq %rbx
- LCFI7:
- xorl %eax, %eax
- popq %rbp
- LCFI8:
- popq %r12
- LCFI9:
- ret
- LFE17:
- .literal16
- .align 4
- LC0:
- .long 1
- .long 2
- .long 4
- .long 8
- .align 4
- LC1:
- .long 16
- .long 32
- .long 64
- .long 128
- .align 4
- LC2:
- .long 256
- .long 512
- .long 1024
- .long 2048
- .align 4
- LC3:
- .long 4096
- .long 8192
- .long 16384
- .long 32768
- .align 4
- LC4:
- .long 65536
- .long 131072
- .long 262144
- .long 524288
- .align 4
- LC5:
- .long 1048576
- .long 2097152
- .long 4194304
- .long 8388608
- .align 4
- LC6:
- .long 16777216
- .long 33554432
- .long 67108864
- .long 134217728
- .align 4
- LC7:
- .long 268435456
- .long 536870912
- .long 1073741824
- .long -2147483648
- .literal8
- .align 3
- LC8:
- .long 4277811695
- .long 1072049730
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .byte 0x4
- .set L$set$3,LCFI0-LFB16
- .long L$set$3
- .byte 0xe
- .byte 0x10
- .byte 0x83
- .byte 0x2
- .byte 0x4
- .set L$set$4,LCFI1-LCFI0
- .long L$set$4
- .byte 0xe
- .byte 0x90,0x1
- .byte 0x4
- .set L$set$5,LCFI2-LCFI1
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$6,LCFI3-LCFI2
- .long L$set$6
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$7,LEFDE3-LASFDE3
- .long L$set$7
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$8,LFE17-LFB17
- .quad L$set$8
- .byte 0
- .byte 0x4
- .set L$set$9,LCFI4-LFB17
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x8c
- .byte 0x2
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x18
- .byte 0x86
- .byte 0x3
- .byte 0x4
- .set L$set$11,LCFI6-LCFI5
- .long L$set$11
- .byte 0xe
- .byte 0x20
- .byte 0x83
- .byte 0x4
- .byte 0x4
- .set L$set$12,LCFI7-LCFI6
- .long L$set$12
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$13,LCFI8-LCFI7
- .long L$set$13
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$14,LCFI9-LCFI8
- .long L$set$14
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-7-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- xorl %eax, %eax
- testl %edi, %edi
- jne L5
- jmp L2
- .align 4,0x90
- L11:
- testl %edi, %edi
- je L8
- L5:
- leal 1(%rax), %edx
- testb $1, %dil
- cmovne %edx, %eax
- shrl %edi
- cmpl $1, %eax
- movl %eax, %edx
- jbe L11
- L8:
- xorl %eax, %eax
- cmpl $1, %edx
- sete %al
- L2:
- rep
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbx
- LCFI0:
- subq $16, %rsp
- LCFI1:
- call _mach_absolute_time
- xorl %edi, %edi
- xorl %esi, %esi
- movq %rax, %rbx
- xorl %eax, %eax
- .align 4
- L22:
- cmpl $1, %eax
- sete %al
- addl $1, %edi
- movzbl %al, %eax
- addl %eax, %esi
- cmpl $-1, %edi
- je L23
- movl %edi, %edx
- xorl %eax, %eax
- .align 4
- L16:
- leal 1(%rax), %ecx
- testb $1, %dl
- cmovne %ecx, %eax
- shrl %edx
- cmpl $1, %eax
- ja L22
- testl %edx, %edx
- jne L16
- jmp L22
- L23:
- movl %esi, 8(%rsp)
- .p2align 4,,5
- call _mach_absolute_time
- movl 8(%rsp), %esi
- leaq LC0(%rip), %rdi
- subq %rbx, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $16, %rsp
- LCFI2:
- xorl %eax, %eax
- popq %rbx
- LCFI3:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x83
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-8-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- jmp L8
- .align 4,0x90
- L10:
- cmpl $1, %edi
- jbe L2
- shrl %edi
- L8:
- testb $1, %dil
- je L10
- L2:
- xorl %eax, %eax
- cmpl $1, %edi
- sete %al
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbx
- LCFI0:
- subq $16, %rsp
- LCFI1:
- call _mach_absolute_time
- xorl %edx, %edx
- xorl %esi, %esi
- movq %rax, %rbx
- xorl %eax, %eax
- .align 4
- L24:
- cmpl $1, %eax
- sete %al
- addl $1, %edx
- movzbl %al, %eax
- addl %eax, %esi
- cmpl $-1, %edx
- je L15
- testb $1, %dl
- jne L19
- cmpl $1, %edx
- movl %edx, %eax
- jbe L19
- .align 4
- L21:
- shrl %eax
- testb $1, %al
- jne L24
- cmpl $1, %eax
- ja L21
- .p2align 4,,4
- jmp L24
- .align 4
- L19:
- movl %edx, %eax
- jmp L24
- L15:
- movl %esi, 8(%rsp)
- .p2align 4,,5
- call _mach_absolute_time
- movl 8(%rsp), %esi
- leaq LC0(%rip), %rdi
- subq %rbx, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $16, %rsp
- LCFI2:
- xorl %eax, %eax
- popq %rbx
- LCFI3:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x83
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-9a-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- xorl %eax, %eax
- testl %edi, %edi
- je L2
- leal -1(%rdi), %eax
- testl %edi, %eax
- sete %al
- movzbl %al, %eax
- L2:
- rep
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbp
- LCFI0:
- pushq %rbx
- LCFI1:
- xorl %ebx, %ebx
- subq $8, %rsp
- LCFI2:
- call _mach_absolute_time
- movl $1, %edx
- movq %rax, %rbp
- xorl %eax, %eax
- jmp L6
- .align 4
- L7:
- addl $1, %eax
- addl $1, %edx
- L6:
- testl %eax, %eax
- je L7
- leal -1(%rax), %ecx
- testl %eax, %ecx
- sete %cl
- movzbl %cl, %ecx
- addl %ecx, %ebx
- cmpl $-1, %edx
- jne L7
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %rbp, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $8, %rsp
- LCFI3:
- xorl %eax, %eax
- popq %rbx
- LCFI4:
- popq %rbp
- LCFI5:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x86
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x18
- .byte 0x83
- .byte 0x3
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-9b-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- xorl %eax, %eax
- testl %edi, %edi
- je L2
- movl %edi, %eax
- negl %eax
- andl %edi, %eax
- cmpl %eax, %edi
- sete %al
- movzbl %al, %eax
- L2:
- rep
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbp
- LCFI0:
- pushq %rbx
- LCFI1:
- xorl %ebx, %ebx
- subq $8, %rsp
- LCFI2:
- call _mach_absolute_time
- movl $1, %edx
- movq %rax, %rbp
- xorl %eax, %eax
- jmp L6
- .align 4
- L7:
- addl $1, %eax
- addl $1, %edx
- L6:
- testl %eax, %eax
- je L7
- movl %eax, %ecx
- negl %ecx
- andl %eax, %ecx
- cmpl %eax, %ecx
- sete %cl
- movzbl %cl, %ecx
- addl %ecx, %ebx
- cmpl $-1, %edx
- jne L7
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %rbp, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $8, %rsp
- LCFI3:
- xorl %eax, %eax
- popq %rbx
- LCFI4:
- popq %rbp
- LCFI5:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x86
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x18
- .byte 0x83
- .byte 0x3
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-R1-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _is_pot_recur
- _is_pot_recur:
- LFB16:
- movl %esi, %ecx
- movl $1, %edx
- testl %ecx, %ecx
- je L8
- L16:
- movl %edx, %eax
- sall %cl, %eax
- subl $1, %eax
- movl %eax, %esi
- sall %cl, %esi
- andl %edi, %esi
- cmpl $1, %esi
- sbbl %r8d, %r8d
- notl %r8d
- andl $2, %r8d
- testl %edi, %eax
- setne %al
- movzbl %al, %eax
- addl %eax, %r8d
- cmpl $1, %r8d
- je L13
- cmpl $2, %r8d
- je L15
- xorl %eax, %eax
- ret
- .align 4,0x90
- L15:
- shrl %cl, %edi
- L13:
- shrl %ecx
- testl %ecx, %ecx
- jne L16
- L8:
- movl $1, %eax
- ret
- LFE16:
- .align 4,0x90
- .globl _is_pot
- _is_pot:
- LFB17:
- movl $-65536, %r9d
- movl $65535, %edx
- movl $16, %esi
- movl $16, %eax
- movl $1, %r8d
- L18:
- movl %r9d, %ecx
- andl %edi, %ecx
- cmpl $1, %ecx
- sbbl %ecx, %ecx
- notl %ecx
- andl $2, %ecx
- testl %edx, %edi
- setne %dl
- movzbl %dl, %edx
- addl %edx, %ecx
- cmpl $1, %ecx
- je L21
- cmpl $2, %ecx
- je L28
- xorl %eax, %eax
- ret
- .align 4,0x90
- L21:
- shrl %eax
- L23:
- movl %eax, %ecx
- movl %r8d, %edx
- movl %eax, %esi
- sall %cl, %edx
- subl $1, %edx
- movl %edx, %r9d
- sall %cl, %r9d
- testl %eax, %eax
- jne L18
- movl $1, %eax
- ret
- .align 4,0x90
- L28:
- movl %esi, %ecx
- shrl %eax
- shrl %cl, %edi
- jmp L23
- LFE17:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB18:
- pushq %rbp
- LCFI0:
- pushq %rbx
- LCFI1:
- xorl %ebx, %ebx
- subq $8, %rsp
- LCFI2:
- call _mach_absolute_time
- xorl %edi, %edi
- movl $1, %r9d
- movq %rax, %rbp
- jmp L30
- .align 4
- L44:
- cmpl $2, %ecx
- je L43
- xorl %eax, %eax
- addl $1, %edi
- addl %eax, %ebx
- cmpl $-1, %edi
- je L36
- L30:
- movl %edi, %edx
- movl $-65536, %r10d
- movl $65535, %esi
- movl $16, %r8d
- movl $16, %eax
- L37:
- movl %r10d, %ecx
- andl %edx, %ecx
- cmpl $1, %ecx
- sbbl %ecx, %ecx
- notl %ecx
- andl $2, %ecx
- testl %esi, %edx
- setne %sil
- movzbl %sil, %esi
- addl %esi, %ecx
- cmpl $1, %ecx
- jne L44
- L42:
- shrl %eax
- movl %r9d, %esi
- movl %eax, %ecx
- movl %eax, %r8d
- sall %cl, %esi
- subl $1, %esi
- movl %esi, %r10d
- sall %cl, %r10d
- testl %eax, %eax
- jne L37
- movl $1, %eax
- addl $1, %edi
- addl %eax, %ebx
- cmpl $-1, %edi
- jne L30
- L36:
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %rbp, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $8, %rsp
- LCFI3:
- xorl %eax, %eax
- popq %rbx
- LCFI4:
- popq %rbp
- LCFI5:
- ret
- .align 4
- L43:
- LCFI6:
- movl %r8d, %ecx
- shrl %cl, %edx
- jmp L42
- LFE18:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .align 3
- LEFDE3:
- LSFDE5:
- .set L$set$5,LEFDE5-LASFDE5
- .long L$set$5
- LASFDE5:
- .long LASFDE5-EH_frame1
- .quad LFB18-.
- .set L$set$6,LFE18-LFB18
- .quad L$set$6
- .byte 0
- .byte 0x4
- .set L$set$7,LCFI0-LFB18
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x86
- .byte 0x2
- .byte 0x4
- .set L$set$8,LCFI1-LCFI0
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x83
- .byte 0x3
- .byte 0x4
- .set L$set$9,LCFI2-LCFI1
- .long L$set$9
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$10,LCFI3-LCFI2
- .long L$set$10
- .byte 0xa
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$11,LCFI4-LCFI3
- .long L$set$11
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$12,LCFI5-LCFI4
- .long L$set$12
- .byte 0xe
- .byte 0x8
- .byte 0x4
- .set L$set$13,LCFI6-LCFI5
- .long L$set$13
- .byte 0xb
- .align 3
- LEFDE5:
- .subsections_via_symbols
- ==> powersoftwo-R2-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOfTwo
- _isPowerOfTwo:
- LFB16:
- testl $1431655765, %edi
- je L2
- xorl %eax, %eax
- testl $-1431655766, %edi
- jne L3
- L2:
- testl $858993459, %edi
- jne L14
- testl $252645135, %edi
- jne L15
- L5:
- testl $16711935, %edi
- je L6
- xorl %eax, %eax
- testl $-16711936, %edi
- jne L3
- L6:
- testw %di, %di
- movl $1, %eax
- je L3
- xorl %eax, %eax
- andl $-65536, %edi
- sete %al
- L3:
- rep
- ret
- .align 4,0x90
- L14:
- xorl %eax, %eax
- testl $-858993460, %edi
- jne L3
- testl $252645135, %edi
- je L5
- L15:
- xorl %eax, %eax
- testl $-252645136, %edi
- je L5
- rep
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbp
- LCFI0:
- pushq %rbx
- LCFI1:
- xorl %ebx, %ebx
- subq $8, %rsp
- LCFI2:
- call _mach_absolute_time
- movq %rax, %rbp
- xorl %eax, %eax
- .align 4
- L22:
- testl $1431655765, %eax
- je L17
- xorl %edx, %edx
- testl $-1431655766, %eax
- jne L18
- L17:
- testl $858993459, %eax
- je L19
- xorl %edx, %edx
- testl $-858993460, %eax
- jne L18
- L19:
- testl $252645135, %eax
- je L20
- xorl %edx, %edx
- testl $-252645136, %eax
- jne L18
- L20:
- testl $16711935, %eax
- je L21
- xorl %edx, %edx
- testl $-16711936, %eax
- jne L18
- L21:
- testw %ax, %ax
- movl $1, %edx
- je L18
- xorl %edx, %edx
- testl $-65536, %eax
- sete %dl
- .align 4
- L18:
- addl $1, %eax
- addl %edx, %ebx
- cmpl $-1, %eax
- jne L22
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %rbp, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $8, %rsp
- LCFI3:
- xorl %eax, %eax
- popq %rbx
- LCFI4:
- popq %rbp
- LCFI5:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x86
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x18
- .byte 0x83
- .byte 0x3
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-R3-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOf2
- _isPowerOf2:
- LFB16:
- subq $8, %rsp
- LCFI0:
- mov %edi, %edi
- call ___popcountdi2
- cmpl $1, %eax
- sete %al
- addq $8, %rsp
- LCFI1:
- movzbl %al, %eax
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %r12
- LCFI2:
- pushq %rbp
- LCFI3:
- xorl %ebp, %ebp
- pushq %rbx
- LCFI4:
- xorl %ebx, %ebx
- call _mach_absolute_time
- movq %rax, %r12
- .align 4
- L3:
- mov %ebp, %edi
- call ___popcountdi2
- cmpl $1, %eax
- sete %al
- addl $1, %ebp
- movzbl %al, %eax
- addl %eax, %ebx
- cmpl $-1, %ebp
- jne L3
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %r12, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- popq %rbx
- LCFI5:
- xorl %eax, %eax
- popq %rbp
- LCFI6:
- popq %r12
- LCFI7:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .byte 0x4
- .set L$set$3,LCFI0-LFB16
- .long L$set$3
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$4,LCFI1-LCFI0
- .long L$set$4
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$5,LEFDE3-LASFDE3
- .long L$set$5
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$6,LFE17-LFB17
- .quad L$set$6
- .byte 0
- .byte 0x4
- .set L$set$7,LCFI2-LFB17
- .long L$set$7
- .byte 0xe
- .byte 0x10
- .byte 0x8c
- .byte 0x2
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x86
- .byte 0x3
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x20
- .byte 0x83
- .byte 0x4
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$11,LCFI6-LCFI5
- .long L$set$11
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$12,LCFI7-LCFI6
- .long L$set$12
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-R3-i7.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOf2
- _isPowerOf2:
- LFB16:
- popcnt %edi, %edi
- xorl %eax, %eax
- cmpl $1, %edi
- sete %al
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbp
- LCFI0:
- pushq %rbx
- LCFI1:
- xorl %ebx, %ebx
- subq $8, %rsp
- LCFI2:
- call _mach_absolute_time
- movq %rax, %rbp
- xorl %eax, %eax
- .align 4
- L3:
- popcnt %eax, %edx
- cmpl $1, %edx
- sete %dl
- addl $1, %eax
- movzbl %dl, %edx
- addl %edx, %ebx
- cmpl $-1, %eax
- jne L3
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %rbp, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $8, %rsp
- LCFI3:
- xorl %eax, %eax
- popq %rbx
- LCFI4:
- popq %rbp
- LCFI5:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x86
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x18
- .byte 0x83
- .byte 0x3
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
- ==> powersoftwo-R4-c2.s <===================================================
- .text
- .align 4,0x90
- .globl _isPowerOf2
- _isPowerOf2:
- LFB16:
- xorl %eax, %eax
- testl %edi, %edi
- je L2
- bsfl %edi, %ecx
- movb $1, %al
- sall %cl, %eax
- cmpl %eax, %edi
- sete %al
- movzbl %al, %eax
- L2:
- rep
- ret
- LFE16:
- .cstring
- .align 3
- LC0:
- .ascii "%d powers of two found in %lu ns\12\0"
- .section __TEXT,__text_startup,regular,pure_instructions
- .align 4
- .globl _main
- _main:
- LFB17:
- pushq %rbp
- LCFI0:
- pushq %rbx
- LCFI1:
- xorl %ebx, %ebx
- subq $8, %rsp
- LCFI2:
- call _mach_absolute_time
- movl $1, %edx
- movl $1, %esi
- movq %rax, %rbp
- xorl %eax, %eax
- jmp L6
- .align 4
- L7:
- addl $1, %eax
- addl $1, %edx
- L6:
- testl %eax, %eax
- je L7
- bsfl %eax, %ecx
- movl %esi, %edi
- sall %cl, %edi
- cmpl %eax, %edi
- sete %cl
- movzbl %cl, %ecx
- addl %ecx, %ebx
- cmpl $-1, %edx
- jne L7
- call _mach_absolute_time
- leaq LC0(%rip), %rdi
- movl %ebx, %esi
- subq %rbp, %rax
- movq %rax, %rdx
- xorl %eax, %eax
- call _printf
- addq $8, %rsp
- LCFI3:
- xorl %eax, %eax
- popq %rbx
- LCFI4:
- popq %rbp
- LCFI5:
- ret
- LFE17:
- .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
- EH_frame1:
- .set L$set$0,LECIE1-LSCIE1
- .long L$set$0
- LSCIE1:
- .long 0
- .byte 0x1
- .ascii "zR\0"
- .byte 0x1
- .byte 0x78
- .byte 0x10
- .byte 0x1
- .byte 0x10
- .byte 0xc
- .byte 0x7
- .byte 0x8
- .byte 0x90
- .byte 0x1
- .align 3
- LECIE1:
- LSFDE1:
- .set L$set$1,LEFDE1-LASFDE1
- .long L$set$1
- LASFDE1:
- .long LASFDE1-EH_frame1
- .quad LFB16-.
- .set L$set$2,LFE16-LFB16
- .quad L$set$2
- .byte 0
- .align 3
- LEFDE1:
- LSFDE3:
- .set L$set$3,LEFDE3-LASFDE3
- .long L$set$3
- LASFDE3:
- .long LASFDE3-EH_frame1
- .quad LFB17-.
- .set L$set$4,LFE17-LFB17
- .quad L$set$4
- .byte 0
- .byte 0x4
- .set L$set$5,LCFI0-LFB17
- .long L$set$5
- .byte 0xe
- .byte 0x10
- .byte 0x86
- .byte 0x2
- .byte 0x4
- .set L$set$6,LCFI1-LCFI0
- .long L$set$6
- .byte 0xe
- .byte 0x18
- .byte 0x83
- .byte 0x3
- .byte 0x4
- .set L$set$7,LCFI2-LCFI1
- .long L$set$7
- .byte 0xe
- .byte 0x20
- .byte 0x4
- .set L$set$8,LCFI3-LCFI2
- .long L$set$8
- .byte 0xe
- .byte 0x18
- .byte 0x4
- .set L$set$9,LCFI4-LCFI3
- .long L$set$9
- .byte 0xe
- .byte 0x10
- .byte 0x4
- .set L$set$10,LCFI5-LCFI4
- .long L$set$10
- .byte 0xe
- .byte 0x8
- .align 3
- LEFDE3:
- .subsections_via_symbols
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement